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

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

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

ファイルの重複行を削除

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

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

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

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

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

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

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

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

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

ファイルを結合する

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

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

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

関連記事

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

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

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

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

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

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

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

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

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

→もっと見る

PAGE TOP ↑