テキストファイルを扱っていると、同じ行が何度も繰り返し出てきて「見づらい」「扱いにくい」と感じることはありませんか。
たとえば、次のようなケースです。
- ログファイルに同じエラーメッセージが何度も出力されている
- CSVやリストの中で同じデータが繰り返し含まれている
- メモやコピーを重ねて作ったテキストに重複が多い
こうした「不要な重複行」をそのまま残しておくと、後からの確認や分析がやりにくくなり、作業効率が落ちてしまいます。
この記事では、テキストをスッキリ整理するために、重複行を削除する方法を紹介します。
重複行を削除するメリット
テキストから重複を取り除くことで、次のようなメリットがあります。
- 見やすさの向上:同じ行がなくなり、情報を把握しやすくなる
- データ分析が正確になる:ユニークな値だけが残るため、重複カウントを避けられる
- 処理の効率化:無駄なデータが減ることで検索や集計が速くなる
- エラー調査が楽になる:同じエラーログが連続して出ても、種類ごとに確認できる
特に、大量のログやCSVファイルを扱う場合は、重複削除の効果が大きく現れます。
重複行を整理する基本的な考え方
テキスト内の重複を取り除くには、次の2ステップで考えると分かりやすいです。
- 並べ替え(sort)
→ 同じ内容の行を隣り合わせにする - 重複の削除(uniq)
→ 隣り合った同じ行を1つにまとめる
この仕組みを使えば、何百行・何千行のテキストからでも、簡単にユニークなデータだけを残せます。
実例:重複行を削除する方法
基本の重複削除
sort data.txt | uniq > cleaned.txt
sort
でテキストを並べ替えuniq
で重複を削除- 結果を
cleaned.txt
に保存
これで、重複行を取り除いたテキストが完成します。
出現回数も確認する
sort data.txt | uniq -c
各行が何回出現したかを数字付きで表示します。
「どの行がよく現れるのか」を把握したいときに便利です。
完全一致でなく「連続する重複」を削除する
uniq logfile.txt
ファイルを並べ替えずに実行すると、連続して現れる同じ行だけをまとめます。
ログ確認など「同じメッセージが連続している場合だけ整理したい」ときに有効です。
標準検索や手作業では限界がある
もちろん、エディタで「検索して削除」も可能ですが、以下の問題があります。
- ファイルが大きいと処理が重い
- 重複が数百・数千行に及ぶと、手作業では現実的でない
- 出現回数を数えるのが難しい
このため、シンプルなコマンドで重複削除を行う方が効率的です。
まとめ
同じ行が繰り返し現れるテキストは、そのままでは扱いづらく、分析や整理の妨げになります。
- sortで並べ替え
- uniqで重複削除
- 必要に応じて「出現回数表示」で分析
この流れを覚えておけば、大量のログやCSVでもスッキリ整理できるようになります。
重複が多くて困っている人は、ぜひ取り入れてみてください。
コメント