Adicione a opção -z
ao seu comando do GNU grep:
cat testfile | grep --color=always -z 'hello'
ou menor
grep --color=always -z 'hello' testfile
no bash, se eu quiser executar um comando e exibir apenas linhas de saída que correspondam a um determinado padrão, posso canalizá-lo para grep
, como
arquivo testfile
hello
there
my
friends
comando
$ cat testfile | grep 'hello'
hello #this will be highlightd
isso realçará a correspondência de pesquisa e exibirá a linha inteira em que ela se enquadra. Eu posso usar -A
e -B
para exibir linhas antes e depois dessa linha. Minha pergunta é que é possível executar o comando e exibir todas as saídas como normal, mas para realçar as correspondências de pesquisa como o grep? então minha saída seria
hello #highlighted
there
my
friends
Adicione a opção -z
ao seu comando do GNU grep:
cat testfile | grep --color=always -z 'hello'
ou menor
grep --color=always -z 'hello' testfile
Para usar um Color GREP apenas para realçar padrões combinados, mas sem alterar a saída:
grep --color=always -e "^" -e "hello" testfile
O primeiro padrão corresponderá a todas as linhas (todas as linhas serão impressas) o segundo padrão (e quaisquer padrões a seguir) fará com que o texto correspondente seja destacado em cores.
Como o primeiro padrão corresponde a todas as linhas, mas não corresponde a um caractere imprimível, ele não adiciona nenhum destaque de cor para não competir / interferir na legibilidade do texto realçado.
Tags command-line bash grep linux