Поиск такой программы, как tail
или less
которая позволяет мне просматривать мои журналы без строк, которые содержат определенную строку. Например, просмотрите мой системный журнал без [UFW BLOCK]
строк ввода UFW ( ).
command-line
less
Джон Гр.
источник
источник
less
дает возможность фильтровать отображаемые строки после шаблона регулярных выражений. Вы можете использовать эту функцию, печатая с&
последующим шаблоном, и вы можете отменить ее, введя&
один.Ответы:
Опция инверсии соответствия шаблона
-v
дляgrep
действительно полезна для этого:Это покажет вам все строки, не содержащие
UFW BLOCK
. Посколькуgrep
по умолчанию используются базовые регулярные выражения, включение скобок заставит искать любой из отдельных символов «UFW BLOCK», включая пробел. Вы, вероятно, в конечном итоге без вывода. Если вам нужно убедиться, что вокруг строки есть скобки, либо избегайте их\[UFW BLOCK\]
, либо используйте-F
опциюgrep
включения только фиксированных строк (спасибо Zanna и Steeldriver за советы по этому вопросу):Вы можете упростить просмотр, отправив вывод на пейджер, например
less
:Или перенаправьте вывод в файл в вашем домашнем каталоге для последующего просмотра:
источник
fgrep
команду, которая эквивалентнаgrep -F
.Вы также можете использовать команду
sed
's'd
для удаления строк с шаблоном из потока:Мы убегаем,
[]
как обычно, они обозначают класс персонажа, что означает «соответствовать чему-либо внутри здесь»источник
Вы можете использовать любой инструмент с возможностями редактирования. Вы уже получили решения с использованием
grep
иsed
вот несколько других вариантов. Все они могут быть легко переданыless
илиmore
или что-нибудь еще.Perl
Так как это Perl, TIMTOWDI! ,
AWK
источник
Вы также можете использовать
awk
:Я использую его, когда у меня больше, чем один «шаблон», и я не хочу использовать два
grep
типа:какой синтаксис:
источник
grep -Ev "foo|bar"
?-e
для определения нескольких шаблонов.grep -v -e 'foo' -e 'bar'
С
less
командованием&
опцией можно отфильтровать , чтобы отобразить только нужный подходящий шаблон , как показано ниже,в вашем случае, если вы хотите, чтобы строки фильтра
UFW BLOCK
не отображались на выходе, вы можете просто использовать,&!
как показано ниже:источник