連続して重複している行を削除して表示するコマンドです。
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