1

ファイルからランダムにいくつかの行(eg20)を選択して別の行に出力したいのですが、入力ファイルが同じ場合に同じ出力が得られるようにシードを修正したいと思います。

私が見つけたいくつかの行を選択した例では、それらの出力は毎回異なります。例:

perl -e '$f="inputfile";$_=`wc -l $f`;@l=split( );$r=int rand(@l[0]);system("head -n$r $f|tail -20")'> outputfile

また、固定シードと疑似ランダムについて説明しているのは、ファイルから行を抽出したり、1行を抽出したりするのではなく、数値を印刷するためだけのものです。UNIXまたはperlなどのコードのコマンドはありますか?(sort -R--random-shufは機能しませんでした(Mac OS X 10.5.8を使用))。

4

1 に答える 1

0

srand();を介してシードを設定できます。(たとえば、srand(5))randの固定シードを取得します。

于 2013-06-20T07:45:03.720 に答える