連続して重複している行を削除して表示するコマンドです。
uniq [OPTION] ... [INPUT [OUTPUT]]
オプション
Option | Function |
---|---|
-c, –count | 行数をカウントする |
-d, –repeated | 重複している行をユニークにして出力する |
-D, –all-repeated[=METHOD] | 重複している行をそのまま出力する |
-f, –skip-fields=N | |
–group[=METHOD] | |
-i, –ignore-case | |
-s, –skip-chars=N | |
-u, –unique | ユニークな行のみを出力する |
-z, –zero-terminated | |
-w, –check-chars=N | 最初のN行を無視する |
–help | ヘルプを表示する |
–version | バージョンを表示する |
sort
と組み合わせる
uniq
は隣接している重複しかチェックしないので、ファイル内にちらばった重複行は無視されます。なので、sortと組み合わせて並べ替えてから評価すると便利です。
重複なしで表示する
sort <file> | uniq
重複がない行のみを表示する
sort <file> | uniq -u
重複している行のみを表示する
sort <file> | uniq -d
各行の出現回数を表示する
sort <file> | uniq -c
各行の出現回数を多い順にならべる
sort <file> | uniq -c | sort -nr