コマンド
uniq
連続する同じ行を1行にまとめる
実行例。
% cat sample2
abcdefg
abcdef
abcdef
abcde
abcdef
% uniq sample2
abcdefg
abcdef (同じ行が連続している場合は一度しか表示しない)
abcde
abcdef
入力が既にソートされている場合は、sort -u の結果と同じになる。
% cat sample
abcdefg
abcdef
abcdef
abcde
% cat sample | uniq
abcdefg
abcdef
abcde
% sort -u < sample (上の例と同じ結果)
abcdefg
abcdef
abcde
-d オプションを付けると動作が逆になり、連続する同じ行のみを表示する。
覚えておきたいのは、-c オプション。
% cat sample
abcde
abcdefg
abcdef
abcde
abcdefg
abcde
というデータがあるとき、abcde、abcdef、abcdefg がそれぞれ何個あるのか調べたい場合は
% cat sample | sort | uniq -c | sort -n
3 abcde
2 abcdefg
1 abcdef
とする。アクセスログなどを解析して、どこに何件のアクセスがあったかを調べる際に便利である。
読み方
uniq
(UNIXコマンド) [ゆにーく]
"UNIQue" の略。この単語を [あん、いくー] と読んでいた人がいた。