▼すべてを開く。
▲すべてを閉じる。
$ cat composer_j.txt ショパン 1810 バッハ 1685 ヘンデル 1685 ベートーベン 1770 ベートーベン 1770 モーツァルト 1756 モーツァルト 1756
$ uniq composer_j.txt ショパン 1810 バッハ 1685 ヘンデル 1685 ベートーベン 1770 モーツァルト 1756
uniqコマンドでファイル「composer_j.txt」を指定すると、ファイル中の重複行が削除される。ファイルは事前にソートしておかなくてはならない。uniqコマンドは、隣同士の同じ内容の行を削除するだけである。
$ cat composer.txt Bach 1685 Beethoven 1770 Beethoven 1770 Chopin 1810 Hendel 1685 Mozart 1756 Mozart 1756
$ uniq -c composer.txt 1 Bach 1685 2 Beethoven 1770 1 Chopin 1810 1 Hendel 1685 2 Mozart 1756
uniqコマンドで-cオプション、ファイル「composer.txt」を指定すると、各行が何回現れたかを行頭に表示する。
この処理をするには、事前にsortコマンドでソートしておかなければならない。
$ cat composer.txt Bach 1685 Beethoven 1770 Beethoven 1770 Chopin 1810 Hendel 1685 Mozart 1756 Mozart 1756
$ uniq composer.txt Bach 1685 Beethoven 1770 Chopin 1810 Hendel 1685 Mozart 1756
uniqコマンドでファイル「composer.txt」を指定すると、ファイル中の重複行が削除される。ファイルは事前にソートしておかなくてはならない。uniqコマンドは、隣同士の同じ内容の行を削除するだけである。
$ uniq composer.txt Bach 1685 Beethoven 1770 Beethoven 1770-1827 Chopin 1810 Hendel 1685 Mozart 1756
2行目と3行目は内容が異なるので重複と見なされないため削除されない。
$ cat composer.txt Beethoven 1770 Mozart 1756 Chopin 1810 Mozart 1756 Hendel 1685 Beethoven 1770 Bach 1685
$ uniq composer.txt Beethoven 1770 Mozart 1756 Chopin 1810 Mozart 1756 Hendel 1685 Beethoven 1770 Bach 1685
uniqコマンドは、隣り合う同じ行を削除するだけなので、ソートされていない場合は重複を見つけられない。
$ cat composer.txt Beethoven 1770 Mozart 1756 Chopin 1810 Beethoven 1770 Hendel 1685 Bach 1685
$ sort -u composer.txt Bach 1685 Beethoven 1770 Chopin 1810 Hendel 1685 Mozart 1756
sortコマンドで-uオプションを指定し、ファイル名「composer.txt」を指定すると、ファイルの第1列がアルファベット順でソートされ、重複する行が削除される。