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

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

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

ファイルの重複行を削除

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

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

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

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

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

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

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

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

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

ファイルを結合する

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

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

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

関連記事

【Linux】SSH を切断した後でも Python を実行し続ける方法|nohub

今回、Linux のサーバに Windows から TeraTerm で SSH 接続し、Pytho

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

【Linux】ファイルの文字コードを一括変換する方法|EUC-JP ⇒ UTF-8

Linux で、あるディレクトリ内のファイルの文字コードを EUC-JP から UTF-8 に一括変

記事を読む

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

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

記事を読む

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

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

記事を読む

【Cubase】イヤホンから音がでないときの対処方法。

Cubase でイヤホンから音がでなくなったときの対処方法のメモです。

【Cubase】特定のトラックを無効にする方法。

今回は、Cubaseで特定のトラックのみを無効にする方法について紹介し

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

【PyTorch】ニューラルネットワークを構築する方法【NN】

今回は、PyTorch を使って、ニューラルネットワーク(NN)を構築

→もっと見る

PAGE TOP ↑