Linuxでテキストファイルの重複行を削除する方法とその応用

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のコマンドラインツールを使うと、テキストファイルの重複行を簡単に削除したり、重複行に関する情報を取得することができます。これらの技術は日常の作業やデータ解析において非常に役立ちますので、ぜひマスターしてください。

created by Rinker
オライリージャパン
¥3,080 (2024/11/22 17:53:11時点 Amazon調べ-詳細)

コメント

コメントする

目次