Como acompanhar sob demanda com base em uma pesquisa e colorir o resultado

Como acompanhar sob demanda com base em uma pesquisa e colorir o resultado

Olá, tenho um arquivo de log que contém muitas informações e é muito difícil localizar o que estou procurando, então cheguei a este comando que me mostra apenas o que quero ver no log, ele funcionará como um ouvinte quando o padrão corresponder, mostre-me apenas os resultados da pesquisa

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

E funciona bem, o problema é se eu canalizar outro grep

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

Eu acho que não funciona porque quando eu canalizo um para o outro porque o resultado do primeiro não contém a condição do segundo, nada é mostrado, então eu quero que ambos (ou mais) grep operem em todos os arquivos e apenas dê cada corda com uma cor diferente para identificar a diferença com mais facilidade

NOTA se eu adicionar :|$ ao final, ele funcionará como uma cauda normal e me mostrará muitas informações extras que não são o que eu quero

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

Responder1

De preferência use:

grep -e 'jsonKeyOne' -e 'jsonKeyTwo'

…para OU seus termos. Dependendo do seu tipo de grep também -E 'jsonKeyOne|jsonKeyTwo' também é possível. Esta é a opção mais rápida apenas com os termos.

Cores diferentes funcionam assim: primeiro termo só colorido e todas as outras linhas sem cor, próximo termo com cor diferente e todas as outras linhas também… até o último termo com sua cor e também todas as outras linhas.

Ou grep ou destaque de sintaxe, melhor não ambos.

informação relacionada