【Linux】 ファイルの重複した行を削除して、ファイルを結合する方法。

大容量の CSV ファイルの重複した行を削除して、ファイルを結合する処理を行ったときのメモです。

かなり大きいサイズのファイルなので、Python を使うと処理がかなり重くなってしまったので、Linux のコマンドで対応しました。

ファイルの重複行を削除

ファイルの重複した行を削除するには「uniq」コマンドを用います。

重複した行を削除して1行に集約してくれます。

ただし、これだと前後の行しか比較しないので、行を飛んで重複しているものは削除されません。

なので、uniq の前に「sort」コマンドを使用します。

実行すると、以下のようなエラーが出ました。

sort: write failed: /tmp/sortL1jRr2: No space left on device

メモリが足りないということのようなので、ランダムに抽出しファイルの容量を減らしてから実行しました。

元のファイルからランダムに行を抽出するには「shuf」コマンドを用います。

「-n」オプションで抽出する行数を指定します。今回は 5万行を指定しています。

ファイルを結合する

最後に、ファイルの結合を行いました。

今回は2ファイルの結合だったのですが、いくつでも可能だと思います。

cat」コマンドを用います。

関連記事

【Raspberry Pi】Webサーバ apache を入れてみた【Linux】

ラズベリーパイで SSH を起動させ、Windows から SSH でアクセスできるように設定しまし

記事を読む

【WSL】Windows10 に Linux(Ubuntu) を入れてみた。

最新の Windows10 環境であれば、簡単に Linux 環境を構築できるということで、試してみ

記事を読む

【Linux】文字化け対策に unar のインストールを試みた。

Windows で圧縮したファイルを Linux で解凍すると、文字化けが起こってしまいます。文字化

記事を読む

【Linux】cp コマンドでディレクトリごとコピーし、ファイルの上書き確認されないようにする方法

Linux で cp コマンドを使って、ディレクトリごとコピーし、同一ファイル名があった場合に上書き

記事を読む

【Linux】指定ディレクトリ以下のファイルの内容を一括置換する方法

簡単なウェブサイトを Perl 作っていて、開発環境が Windows で、公開する環境が Linu

記事を読む

【Linux】ファイルの文字コードを調べる方法

Linux でファイルの文字コードを調べる必要があったので、その時のメモです。 いくつか方法が

記事を読む

【Linux】ファイルの行数をカウントし、行数指定でファイル分割する方法。

Linux のコマンドを使って、ファイルの行数をカウントし、行数を指定してファイルを分割したときのメ

記事を読む

大量のテキストファイルを圧縮して Windows から Linux へコピーして解凍してみた。

大量のテキストファイルを Windows から Linux にコピーする必要があり、最初はそのまま

記事を読む

【Linux】SSH でリモートからログインする方法。

SSH(Secure Shell)は、暗号化され、安全にリモートホストにログインするためのプロトコル

記事を読む

【Linux】WinSCP で Windows からファイルをコピーする方法。

今回は、WinSCP というソフトを使って、Windows から GUI で Linux のサーバに

記事を読む

【MT4】日付と時間を指定してPCを自動起動させる方法【DELL】

今回は、日付と時間を指定してPCを自動的に起動させる方法について紹介し

【MT4】PCが再起動しても自動的に起動させる方法【FX自動売買】

今回は、FX 自動売買用のツールの MT4 で、実行しているPCが再起

【MT4】複数口座を同時に起動させる方法【FX・CFD】

今回は、MT4(メタトレーダー4)で複数口座を同時にログインし、起動さ

【MQL4】スプレッドを取得する方法【MT4】

今回は、MQL4 で対象通貨ペアのスプレッドを取得する方法について紹介

【楽天CFD】取引口座を開設してみた【MT4】

今回は、楽天CFDの取引口座(本番口座)の開設方法について紹介します。

→もっと見る

PAGE TOP ↑