shを書くときに乱数を生成したくなったのでやり方を調べた。
bash / zsh で$RANDOM
を使う
bash / zsh は$RANDOM
というシェル変数を参照することで、0~32767までの乱数を取得することができる。
$ echo $RANDOM
26236
では、上記より広いレンジで乱数を生成したい場合どうするか。
jot コマンド
連番やランダムなデータ生成には、jot
コマンドが使える。
-r
オプションでランダムなデータを生成することができ、レンジの指定もできる。
jot -r [出力数] [min] [max]
$ jot -r 10 1 100
10
60
65
43
1
85
68
61
94
99
shuf コマンド
shuf
もjot
と同様、ランダムなデータの出力に使える。
-i
オプションでレンジの指定をし、-n
オプションで出力数を指定する。
shuf -i [min-max] -n [出力数]
// Macは以下のモジュールインストールが必要
$ brew install coreutils
$ shuf -i 1-100 -n 10
58
9
63
40
42
95
19
51
71
86