次のようにして、「cat」の出力でWordが使用可能かどうかを確認できます。
cat filename | grep Word
これにより、出力がフィルタリングされ、「Word」を含む行のみが表示されます。さて、他の行を削除せずに、出力で「単語」のみを強調表示することは可能ですか?
EOLを実際のクエリと一緒にgrepできます(grep
のエイリアスが既にある場合は--color
、多くのディストリビューションのデフォルトなので、次の例では省略できます):
grep --color=auto 'Word\|$' file
EOLは実際のキャラクターではないため、何も強調されませんが、すべての行に一致します。
パイプ文字をエスケープする必要がない場合は、拡張正規表現を使用できます。
grep -E --color=auto 'Word|$' file
GNU grep
を利用できない場合は、次の方法で移植性を高めます。
grepc()
{
pattern=$1
shift
esc=$(printf "\033")
sed 's"'"$pattern"'"'$esc'[32m&'$esc'[0m"g' "$@"
}
これらのコードのいずれかを使用して色をカスタマイズできます
30m black
31m red
32m green
33m yellow
34m blue
35m Magenta
36m cyan
37m white
カラーコードの代わりに7m
を使用すると、文字列が反転表示されます。