スポンサーリンク
awkのrand()で乱数を発生させる
※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-
参考:awk入門-使い方まとめ一覧-
awkのrand()で乱数を発生させることができます。
※MACターミナル(BSD系)での動作確認です。
例えば、下記のin.txtがあったとします。
$ cat in.txt str11 str12 str13 str21 str22 str23 str31 str32 str33
下記は、1列目と乱数をprint出力しています。
参考:awkのprint出力をタブ区切りにする←デフォルトはスペース区切りになっていることに注意
$ cat in.txt | awk '{print $1, rand()}' str11 0.840188 str21 0.394383 str31 0.783099
スポンサーリンク
srand()でseedを設定する
srand()でseedを設定できます。
BEGINブロックで設定すると良いかと思います。
下記は、srand()でseedを3に設定しています。
$ cat in.txt | awk 'BEGIN{srand(3)}{print $1, rand()}' str11 0.56138 str21 0.224983 str31 0.393092
整数の乱数を発生させる
整数の乱数を発生させる場合は、例えば下記のようにするとできます。
$ cat in.txt | awk '{print int(rand() * 10)}' 8 3 7
3桁の整数の乱数です。
$ cat in.txt | awk '{print int(rand() * 1000)}' 840 394 783
スポンサーリンク