uniq の使い方
連続する重複行をまとめる
書き方
uniq [-c] [-d]
sort と組み合わせて使います。-c で回数付き。
よく使うオプション
| オプション | 意味 |
|---|---|
-c | それぞれの行が何回続いたかを前に付ける |
-d | 重なった行だけを出す |
-u | 重ならなかった行だけを出す |
-i | 大文字と小文字を区別しない |
例
$ sort fruits.txt | uniq
並べ替えてから重なりを 1 つにします。
$ sort fruits.txt | uniq -c 3 apple
1 banana
2 orangeそれぞれが何回出てきたかを数えます。
$ awk '{print $1}' access_log | sort | uniq -c | sort -nr | headアクセスの多い IP アドレスの上位 10 件を出します。集計の決まった形です。
よくある間違い・注意
- uniq がまとめるのは、隣り合った同じ行だけです。先に sort しないと、離れた同じ行は別々に数えられます。
実際に打って練習する
Linux レベル1 コースの Lv21「重なりを数える uniq」で覚えます(第2章 宝探し(検索とテキスト処理))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。