2つの大きなテキストファイルの比較

2つの大きなテキストファイルの比較

2つの大容量ファイル(それぞれ6 GB)があります。改行文字()は区切り文字としてソートされていません\n。どのように区別できますか? 24時間以内に服用する必要があります。

ベストアンサー1

明確な答えはdiffコマンドを使用することであり、--speed-large-filesパラメータを追加するのはおそらく良い考えです。

diff --speed-large-files a.file b.file

ソートされていないファイルについて言及したので、最初にファイルをソートする必要があるかもしれません。

sort a.file > a.file.sorted
sort b.file > b.file.sorted
diff --speed-large-files a.file.sorted b.file.sorted

2番目にソートされた出力をdiffに直接渡すことで、追加の出力ファイル生成を保存できます。

sort a.file > a.file.sorted
sort b.file | diff --speed-large-files a.file.sorted -

明らかに、これらの機能は、利用可能なメモリが多いシステムで最もよく実行され、利用可能なディスク容量も多く必要です。

以前にこれらの方法を試したことがあるかどうかは、お客様の質問から明確ではありません。もしそうなら、何が間違っているのか(長すぎるかどうかなど)を知ることが役に立ちます。私は非常にドメイン固有の属性を持っていない限り、ファイルに何らかの操作を行うことができる限り、stock sortとdiffコマンドは少なくともカスタムコマンドと同じくらい良い傾向があることを常に見つけました。

おすすめ記事