UNIX/Linuxの部屋 コマンド:uniq


※空白区切りで AND 検索 (例:「ファイル 削除」)

コマンド 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
とする。アクセスログなどを解析して、どこに何件のアクセスがあったかを調べる際に便利である。
>> FreeBSDオンラインマニュアル(man) FreeBSD uniq(1)
>> Solaris10オンラインマニュアル(man) Solaris10 uniq(1)
>> Linuxオンラインマニュアル(man) Linux uniq(1)

読み方 uniq (UNIXコマンド) [ゆにーく]

"UNIQue" の略。この単語を [あん、いくー] と読んでいた人がいた。


頑張って書いたおすすめコンテンツ!