Grep: Use cores para uma das várias expressões

0

É possível ter uma pesquisa grep para múltiplas expressões, mas apenas colorir uma delas específica?

Exemplo do que eu estou depois:

cat file | grep -e foo --colour -e bar 

Saída (onde negrito representa colorido):

foo baz

barra baz

qux foo

foo bar

    
por chraffx 17.11.2017 / 10:42

2 respostas

1

O PCRE pode ser abusado para que haja uma correspondência, mas nada correspondido que seja destacado:

grep -P 'foo.*\K$|bar' input
    
por 17.11.2017 / 16:58
0

Uma solução (embora não particularmente elegante) é usar várias consultas ao grep.

cat file | grep -e foo -e bar | grep -9999 --colour -e bar

Nota: O sinal -9999 é um truque para fazer com que o grep imprima muitas linhas do stdin. É possível aumentar o valor se for necessário.

    
por 17.11.2017 / 10:42