ゼロと大きな数字(含む)の間のすべての数字をランダムな順序でファイルに書き込みます。

ゼロと大きな数字(含む)の間のすべての数字をランダムな順序でファイルに書き込みます。

私がしたいシミュレーションには、0から2 ^ 33までの数字を含むテキストファイルが必要です。これは膨大な数です。私は次のコマンドを使用しました。

seq 0 Number >> OUTPUT FILE

しかし、これは非常に遅いです。ファイルはほぼ94GBなので使用できませんshuf。それから私はタラショフ作成: Alexandres これもかなり時間がかかりました。目的のタスクを完了しましたが、単一のコマンドでこれを実行するより高速な方法があるか、この数字の順序を実際にランダムに指定する方法があるかどうかを知りたいです。

メモ:長い間Linuxを使用してきましたが、bashスクリプトの知識は非常に限られています。だから初心者でも理解できる答えをしてください。

答え1

この場合の最善の解決策は、shufプログラムのソースコードを修正または類似するようにすることです。

その後、入力部分を破棄し、シャッフル部分を使用してインデックスを作成できます。インデックスを文字列に変換せずに改行なしでバイナリファイルに書き込むと便利です。ファイルがはるかに小さく、読み込みが速いからです。

関連情報