Это может сохранить неприятности для некоторых из вас.
Если вы когда-либо использовали Gedit, чтобы редактировать этот файл, по умолчанию будет создан копия этого файла.
Например, давайте предположим, что мы имеем случайность удаленного 'myfile.txt'.
В папке, которая используется для содержения файла, вы только что удалили, используйте эти команды, и вы восстановите копию оттуда:
LS | grep 'myfile.txt ~'
с небольшим количеством удачи вы найдете его, а затем:
CP 'MyFile.txt ~' 'myfile.txt'
Я восстановил файл, только сейчас, используя это метод.
Удачи!
Попробуйте стандартное регулярное выражение (вместо Perl
Regexps). Это будет печатать подходящие строки:
awk '/\[[[:digit:]]+\]/ { print }' maillog
для извлечения и распечатывания соответствующего значения внутри кронштейнов:
awk 'match($0,/\[[[:digit:]]+\]/) { print substr($0,RSTART+1,RLENGTH-2)}' maillog
Если вам нравится awk
Следующий скрипт печатает каждое второе поле, если строка разделена на
[]
(это означает внутри него)
awk -F [][] '{for(i=2;i<=NF;i+=2)print $i}' maillog
, но сделать то же самое на GREP
grep -o '\[[^]]*\]' maillog
В зависимости от того, что вы хотите сопоставить
awk -F"[][]" '/postfix|spamd/{print $2}' maillog