各行にUUIDを持つ2つのファイルがあります。各ファイルには数十万行があります(データベースダンプから生成されます)。これらのファイルはソートされ、差異が見つかる(追加/削除)必要があります。これは、いくつかの* nixのツールを使用して行うのは簡単です、それはほんの数秒かかります:Node.jsで大きなファイルをソートして比較する
$ sort file-a.txt > file-a-sorted.txt
$ sort file-b.txt > file-b-sorted.txt
$ diff file-a-sorted.txt file-b-sorted.txt
私はマルチプラットフォームの使用を意図しています私たちは(ノード上に構築)しているCLIにこの機能を追加したいのですが。したがって、サブプロセスを生成し、これらのツールに委譲することは選択肢にはなりません。
それぞれのファイルをメモリにロードすると、改行を分割して結果の配列に.sort()
を呼び出すと、驚くほどうまく機能します(ただし、非常に多くのメモリを使用しても簡単です)。しかし、違いを見つけることは、 。
答えはストリームの領域のどこかにあると確信していますが、私はそれらの操作を経験していないので、どこから始めたらよいか分かりません。
Node.jsを使って大きなファイルを読み込み、並べ替え、比較する効率的な手法は何ですか?
私は完全なソリューションを探しているわけではありませんが(ただ、気軽に!)、この段階ではポインタが本当に便利です。
ありがとうございます!
このツールを提案する時間をいただきありがとうございます - 非常に良い=] –