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