重複した行を削除する方法
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 対象ファイル