Как отслеживать спрос на основе поиска и раскрашивать результаты

Как отслеживать спрос на основе поиска и раскрашивать результаты

Привет, у меня есть файл журнала, в котором много информации, и довольно сложно определить, что я ищу, поэтому я пришел к этой команде, которая показывает мне только то, что я хочу видеть в журнале, она будет действовать как прослушиватель, когда шаблон совпадает, показывая мне только результаты поиска.

tail -f file.log | GREP_COLOR='01;36' egrep --color=always "\"stringOneExample\""

И работает нормально, проблема в том, что если я передам еще один grep

tail -f file.log | GREP_COLOR='01;36' egrep --color=always "\"jsonKeyOne\"" | GREP_COLOR='01;31' egrep --color=always "\"jsonKeyTwo\""

Я думаю, что это не работает, потому что когда я передаю одно в другое, поскольку результат первого не содержит условия второго, ничего не отображается, поэтому я хочу, чтобы оба (или более) grep обрабатывали весь файл и просто присваивали каждой строке разный цвет, чтобы было легче заметить разницу.

ПРИМЕЧАНИЕ. Если я добавлю :|$ в конец, он будет действовать как обычный хвост и покажет мне много дополнительной информации, которая мне не нужна.

 tail -f file.log | GREP_COLOR='01;36' egrep --color=always "\"stringOneExample\":|$"

решение1

Предпочтительно использовать:

grep -e 'jsonKeyOne' -e 'jsonKeyTwo'

…to OR ваши термины. В зависимости от вашего варианта grep также возможно -E 'jsonKeyOne|jsonKeyTwo'. Это самый быстрый вариант только с терминами.

Различные цвета работают следующим образом: окрашен только первый член, а все остальные линии неокрашены, следующий член окрашен другим цветом и все остальные линии тоже... пока последний член не окрашен своим цветом и также всеми остальными линиями.

Либо grep, либо подсветка синтаксиса, но лучше не оба сразу.

Связанный контент