あまり仕事とかではないのだけど、たまにコンソール上で全く同じ値を持つ以下のようなテキストから、ユニークな値(今回の場合はB)だけ色を付けたいと思うことがある。
A A A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A
A B A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A
一番簡単なのは、grepでユニークな値、もしくはユニークではない(重複した)値を指定してやることだろう。 通常はgrepでヒットした値はエスケープシーケンスで色付けされるので、それを利用すればいい。
command | grep -E '[^A]'
command | grep -e B -e '$'
ユニークな値、もしくはユニークではない値を指定せずに色付けをする場合は、ちょっと汚いけど以下のようにしてやれば(厳密にユニークな値かどうかは判定していないけど)対応できる。
grep -f <(echo $;cat file | fmt -1 | sort | uniq -c | tail -1 | awk '{print $2}') file