В настоящее время я просматриваю множество незнакомых журналов в поисках некоторых проблем. Первый файл, на который я смотрю, это Events.log, и я получаю как минимум три страницы, на less
которых, по-видимому, отображается одно и то же событие в разное время - событие, которое выглядит довольно мягким. Я хотел бы отфильтровать это событие, и в настоящее время я ухожу less
и делаю что-то вроде
grep -v "event text" Events.log | less
Это теперь приносит ряд других общих, неинтересных событий, которые я также хотел бы отфильтровать. Есть ли способ , я могу grep -v
внутри из less
? Вместо того, чтобы делать
egrep -v "event text|something else|the other thing|foo|bar" Events.log | less
Мне кажется, что это полезная функция при просмотре любого файла журнала - и если less
это не инструмент, есть ли другой, обладающий теми качествами, которые я ищу? Просто less
просмотрщик в стиле со встроенным grep
.
less
, используя «&! <1stpattern>» позволяет мне «скрыть» линии с рисунком на, однако это относится только к одной модели , в то время, так что если я найду второй шаблон и применить «&! <2ndpattern>», линии, которые соответствовали первому шаблону и были скрыты, теперь видны. Так очень близко!&!
а затем нажмите клавишу со стрелкой.less
; Я не знаю, сохранился ли он после перезагрузки, хотя.Основываясь на ответе Ориона ,
less(1)
страница руководства описывает(Конечно
^N
и и^E
т. Д., Представляют Ctrl+ Nи Ctrl+ Eи т. Д.)Оказывается, и хорошо работают вместе. Например, команды
&pattern
/pattern
&!arp|dns
Enter/
Ctrl+Kfail|fatal|fault|sd[a-z][0-9]
Enterнабраны в любом порядке, будет скрывать (исключить) все строки , содержащие
arp
илиdns
(какgrep -v
), а затем, в остальных строках, выделить все вхожденияfail
,fatal
,fault
или что - то , что выглядит как имя устройства SCSI (sd[a-z][0-9]
). Обратите внимание, что строки, содержащиеarp
илиdns
, а такжеfail
или любые другие опасные слова, отображаться не будут.источник
За последние несколько месяцев я стал несколько очарован
fzf
.В вашем случае, пока контекст не нужен (т.е. эквивалент Grep - х
-A
,-B
или-C
не нужно, и, кстати, меньше , это&
также имеет то же ограничение), то fzf является очень мощным инструментом.Вот глупый пример:
Если вы запустите это и поиграете с такими входными данными, как
aa | bb dd | ee !gg !hh
и так далее, вы быстро увидите, что происходит.Документация Fzf об
|
операторе очень скудна, но я думаю, что она применима только к терминам непосредственно до и после, что означает, что фактически OR имеет приоритет над AND (что подразумевается ; все термины по умолчанию имеют AND) , Но в большинстве случаев это не должно быть проблемой, и, по моему опыту, все идет хорошо.Дать ему шанс. Я нашел это удивительно полезным, когда дело доходит до просмотра вещей, когда я не совсем уверен, что я ищу, и когда контекст не имеет значения.
источник