O PCRE pode ser abusado para que haja uma correspondência, mas nada correspondido que seja destacado:
grep -P 'foo.*\K$|bar' input
É 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
O PCRE pode ser abusado para que haja uma correspondência, mas nada correspondido que seja destacado:
grep -P 'foo.*\K$|bar' input
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.
Tags command-line grep