Grep:複数の式のいずれかに色を使用する

Grep:複数の式のいずれかに色を使用する

grepを使用して複数の式を検索し、そのうちの特定の式にのみ色を付けることはできますか?

私が求めているものの例:

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

出力(太い色は色を表します):

フヴァーズ

バーブザー音

チューケフ

金持ちバー

答え1

一致するが一致しないコンテンツが強調表示されるようにPCREを乱用する可能性があります。

grep -P 'foo.*\K$|bar' input

答え2

1つの解決策(特にエレガントではありません)は、複数のgrepクエリを使用することです。

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

注:この-9999フラグは、grepにstdinから多数の行を出力させるハックです。必要に応じてこの値を増やすことができます。

関連情報