Я пытаюсь просмотреть файл журнала с помощью tail -f
и хочу исключить все строки, содержащие следующие строки:
"Nopaging the limit is"` and `"keyword to remove is"
Я могу исключить одну строку вот так:
tail -f admin.log|grep -v "Nopaging the limit is"
Но как мне исключить строки, содержащие одно из string1
или string2
.
grep -v -e def -e jkl
методе, который, по ИМХО, яснее…grep -Fv -e def -e jkl
что еще быстрее!grep -vF $(pgrep myprocess)
-F
соответствует буквальным строкам (вместо регулярного выражения)-v
переворачивает матч-e
позволяет использовать несколько шаблонов поиска (все буквальные и перевернутые)источник
grep -v
экземпляров, так и искусственного требования регулярного выражения (позволяет четко указывать несколько строк в отдельных аргументах). Только представьте себе создание этого регулярного выражения программнымДругой вариант - создать список исключений, это особенно полезно, когда у вас есть длинный список вещей, которые нужно исключить.
Теперь добавьте то, что вы хотите исключить
Теперь используйте grep, чтобы удалить строки из файла журнала и просмотреть не исключенную информацию.
источник
-v
with-f
(или что последний вообще существует).grep -v -f <(gen_exclusions.sh) /var/log/admin.log
источник
источник
Вы можете использовать обычный grep следующим образом:
tail -f admin.log | grep -v "Nopaging the limit is\|keyword to remove is"
источник
Greps можно связать цепочкой. Например:
источник