Скопировать файлы, которым меньше 30 минут (но не перезаписывать файлы):
find /nmt/ -cmin -30 -type f -exec cp -pn '{}' /home/pi/box/street_pictures/ \;
Затем удалить файлы в /home/pi/box/street_pictures
, которые старше 30 минут
find /home/pi/box/street_pictures -cmin +30 -type f -exec rm '{}' \;
Если каждый из них действует так, как вам нравится, вы можете поместить их в скрипт и запускать этот скрипт в cron каждую минуту или в любом другом временном окне, которое вы считаете лучшим.
Если вы знаете о наличии : символ на вашем входе, вы можете сделать что-то вроде этого.
echo " <j.2:Taxo_Version rdf:resource="refmat:taxonomies-8.2.0"/>" |
awk -F\: '{print $4}' | sed 's/..$//'
Команда AWK
Печатает строку 4 Th после разделителя : , и команда SED
используется для удаления последних 2 символы, чтобы получить желаемый выход.
Однако, если этот метод работает или не зависит от вашего ввода, как Terdon указывает в его комментарии .
Редактировать
Окончательная труба до SED
может быть вполне может избежать, если мы используем решение, которое предложено Jasonwryan в комментариев . Итак, команда будет эффективно перефразирована как,
echo " <j.2:Taxo_Version rdf:resource="refmat:taxonomies-8.2.0"/>" |
awk -F: '{sub(/\/>/,""); print $4}'
Другое решение, просто использующее сокращение и редкость, может быть оформлена как,
echo " <j.2:Taxo_Version rdf:resource="refmat:taxonomies-8.2.0"/>" |
cut -d ':' -f4 | rev | cut -c 3- | rev
снова, указавая разделитель зависит от входного файла и из примера, который вы предоставили символы, которые я Необходимость извлечения происходит после 4 th положения разделителя. Я использую Cut
, чтобы извлечь подстроку после этого 4 Th разделитель и используйте подробную технику Rev
, чтобы изменить строку и удалить последние 3 символа и снова применить Rev
на нем, чтобы получить фактическую строку.
$ HOME / .vnc / xstartup
предназначен для рабочего стола X на сервере, а не для самого сервера. Вам нужно создать $ HOME / .VNCRC
файл с:
$geometry = "1400x850";
в нем. У вас есть какая-то документация в:
/usr/share/doc/vnc4server/examples/vnc.conf.gz
-121--102930- Одним из способов - использовать опцию GREP -O
, в сочетании со питанием PCRES ( -P
):
-o, --only-matching
Print only the matched (non-empty) parts of a matching line,
with each such part on a separate output line.
-P, --perl-regexp
Interpret PATTERN as a Perl regular expression (PCRE, see
below). This is highly experimental and grep -P may warn of
unimplemented features.
Итак, вы можете сделать
unzip -p GLP.K4C.S06F5.BG57218-rdf.zip | grep -oP ':\Ktaxonomies-[^"]*' | head -1
unzip -p GLP.K4C.S06F5.BG57218-rdf.zip | grep -oP ':\Ktaxonomies-[^"]*' | head -1
. \ k
приводит к тому, что что-то соответствует точке, которое будет игнорироваться (так что :
не Напечатаны) и [^ "] *"
означает «совпадение как можно больше не- »
символов.
Другие варианты включают в себя:
SED
unzip-plp.k4c.s06f5.bg57218-rdf.zip |
Sed -n 'S / .*: \ (таксономии - [^ "] * \). * / \ 1 / p' | Голова -1
-N
вызывает SED
, чтобы ничего не напечатали, если явно не сказано и ///
- оператор замещения. Он заменит все на линии со стороны линии между скобками ( \ 1
). P
вызывает напечатанную результирующуюся строку.
Perl
unzip -p glp.k4c.s06f5.bg57218-rdf.zip |
Perl -lne 'S /* :( таксономии - [^ "]). * / $ 1 / && print' | head -1
Такая же основная идея, как SED
. Если замена была успешной, линия напечатана. Альтернативой будет
unzip -p glp.k4c.s06f5.bg57218-rdf.zip |
Perl -lne '/.*:(taxoonomies-[^"])/ && Печать $ 1' | Голова -1