質問: 2つの大きなテキストファイルの比較 2つの大きなファイル(各6 gb)があります。それらはソートされておらず、改行(\n)セパレータとして。どうすればそれらを比較できますか? 24時間未満かかるはずです。
回答: 最も明白な答えは、単に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コマンドは少なくともカスタムコマンドと同じように機能する傾向があることを発見しました。