【Linux】
ファイルの重複行を削除する・重複行のみ抽出する方法
sortコマンド・uniqコマンドの使い方
投稿日 2022/06/11 更新日 2022/06/11
こんにちは。当サイトの管理者「元木皇天」です。
今回はファイルの重複行を削除する方法と、重複行のみ抽出する方法について解説いたします。
環境
OS:Kali Linux Ver5.15
重複行を削除する方法
ファイルの中の重複行を削除するには、以下の2つのコマンドを使用します。
sortコマンド
uniqコマンド
以下は「sample.txt」ファイルのから重複行を削除した「uniq_sample.txt」ファイルを作成する例です。
sort sample.txt | uniq sample.txt > uniq_sample.txt
ポイントとしては、sortコマンドを実施した後に、uniqコマンドで重複を削除するという点です。
sortコマンドを実行した後でないと、想定通りの重複削除結果が得られないので注意が必要です。
以下は最初の100行のみを表示させる例です。
重複行のみ抽出する方法
先ほどとは反対に、ファイルの重複行のみを抽出したい場合もあると思います。
そのような場合は「-d」オプションを使用します。
以下は「sample.txt」ファイルのから重複行を抽出し「duplicate.txt」ファイルを作成する例です。
sort sample.txt | uniq -d sample.txt > duplicate.txt
まとめ
ファイルの重複行を削除・抽出するには
sortコマンドと
uniqコマンド
を使用します。