Linuxの強力なコマンドラインツールを使って、テキストファイルから重複行を簡単に削除する方法を紹介します。具体的なコード例、その詳しい解説、さらに応用例を含めて説明します。この技術は、データのクリーニングや整理、ログの解析など、さまざまな場面で役立ちます。
目次
基本的な方法
sort ファイル名.txt | uniq > 出力ファイル名.txt # 重複行を削除
このコードは、`sort` コマンドでテキストファイルの内容をソートし、続いて `uniq` コマンドで重複行を削除します。出力は新しいファイルに保存されます。
コードの詳細解説
– `sort`: テキストファイルの行をソートします。これにより、同じ内容の行が連続して配置されます。
– `|`: パイプ。前のコマンドの出力を次のコマンドの入力として使います。
– `uniq`: 連続する重複行を削除します。sortで事前にソートされていることが前提です。
応用例1: 重複行の数をカウントする
sort ファイル名.txt | uniq -c # 重複行の数をカウント
このコマンドは、重複する行が何回繰り返されているかをカウントします。結果は、カウント数とその行の内容として出力されます。
応用例2: 重複行だけを出力する
sort ファイル名.txt | uniq -d # 重複している行だけを出力
このコマンドは、ファイル中で重複している行だけを出力します。
応用例3: 重複していない行だけを出力する
sort ファイル名.txt | uniq -u # 重複していない行だけを出力
このコマンドは、一度しか登場しない行だけを出力します。
応用例4: 大文字小文字を区別せずに重複行を削除する
sort -f ファイル名.txt | uniq -i # 大文字小文字を区別せずに重複行を削除
`sort` コマンドの `-f` オプションで大文字小文字を区別せずにソートし、`uniq` コマンドの `-i` オプションで大文字小文字を区別せずに重複行を削除します。
まとめ
Linuxのコマンドラインツールを使うと、テキストファイルの重複行を簡単に削除したり、重複行に関する情報を取得することができます。これらの技術は日常の作業やデータ解析において非常に役立ちますので、ぜひマスターしてください。
コメント