No.046テキスト処理
uniq
ユニーク・重複行の集約
隣接した同一行だけをまとめ、重複除去や件数表示を行います。前処理としてsortを組み合わせることが多いです。
答えよく使う形
$ sort dup.txt | uniq -c
2 a 1 b 1 c
$ sort file.txt | uniq
$ sort file.txt | uniq -c
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
覚える順番の中でLPIC-1・28 駅め / 106
どんなコマンド?
重複行をまとめたい時、頻度を数えたい時、一覧の一意化をしたい時に使います。
uniqは、連続して並んでいる同一行をまとめるコマンドです。重要なのは『隣接した重複だけを扱う』点で、離れた位置にある同じ行はそのまま残ります。
そのため、全体の重複を整理したい時は通常sortと組み合わせます。sort | uniq、sort | uniq -c、sort | uniq -dといった形は頻出です。ログ中の頻出語や重複設定の確認にも便利です。
書き方とオプション
組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。
$ uniq
使用例と実行結果
行を押すとコピーできます。
2 a 1 b 1 c
まず安全に試す
3分ミッション
手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。
0 / 1
ゲームで確かめる
つまずいたとき
離れた重複が消えない
原因uniqは隣接重複だけを扱います。
こうする先にsortして同値行を寄せます。
終わったときの数(戻り値)
$ echo $?
- 0正常終了。処理に成功しました。
- >0読取失敗などで失敗しました。
気をつけることと入れ方
危険度は低いですが、並んでいない重複を消してくれると誤解しやすい点に注意してください。
確かめた環境2026-04-09 に確認
よくある質問
sortなしでも使えますか。
隣接重複だけを見るなら使えますが、全体の一意化には通常sortが必要です。
資格試験では
- LinuC レベル1大事1.03.2 フィルタを使ったテキストストリームの処理
- LPIC-1大事103.2 フィルタを使ったテキストストリームの処理
- 共通基礎大事Linuxコマンド基礎
uniq を最後まで読みました。
Linux コマンド辞典に戻る130 / 144