
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から多数の行を出力させるハックです。必要に応じてこの値を増やすことができます。