重複した行を削除する方法
uniq
とsort
で削除
uniq
コマンドとsort
コマンドを使用して重複した行を削除できます。
ターミナル
$ sort 対象ファイル | uniq
uniq
コマンドのオプションは以下のとおりです。
オプション | 説明 |
---|---|
-c, --count | 各行の前に重複回数を出力する |
-u, --unique | 重複していない行だけを出力する |
-d, --repeated | 重複した行だけを出力する |
-D, --all-repeated | 重複した行を全て出力する |
-i, --ignore-case | 比較時に大文字と小文字の違いを無視する |
-w N, --check-chars=N | 行の比較を最初のN文字で行う |
-s N, --skip-chars=N | 最初のN文字を比較しない |
-f N, --skip-fields=N | 最初のN個のフィールドを比較しない |
-z, --zero-terminated | 最後にNULL文字を出力する |
sort
で削除
sort
コマンドのみでも削除できます。
ターミナル
$ sort -u 対象ファイル
また以下のようにすることで対象ファイルを上書きできます。
ターミナル
$ sort -u 対象ファイル -o 対象ファイル