$ uniq ファイル名 [出力ファイル] |
テキストファイル内の重複した行を削除し、1 行にまとめて出力するには uniq コマンドを使用します。ただし、uniq コマンドを使用するには、テキストファイル内の行をソートしておく必要があります。結果をファイルとして保存したい場合は、出力ファイル名を指定します。指定しなければ標準出力に表示されます。なお、sort コマンドには、重複行を表示しない -u オプションがありますので、sort コマンド実行時に -u オプションを指定すれば同じ結果が得られます。
例えば、sample.txt の内容を cat コマンドで表示します。
$ cat sample.txt Taro Yamada Taro Yamada Taro Yamada Jiro Tanaka Hanako Suzuki Kenta Nakamura Kenta Nakamura Saburo Kobayashi |
このファイルに対し、uniq コマンドを実行すると以下のように重複行が削除されます。
$ uniq sample.txt Taro Yamada Jiro Tanaka Hanako Suzuki Kenta Nakamura Saburo Kobayashi |
-c オプションを指定すると、重複行の数が行頭に表示されます。
$ uniq -c hoge.txt
3 Taro Yamada
1 Jiro Tanaka
1 Hanako Suzuki
2 Kenta Nakamura
1 Saburo Kobayashi |
以下に uniq コマンドの代表的なオプションを示します。