それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

jot コマンドが便利。乱数・連番生成で、ループ処理や文字列生成にとてもいい。

jot コマンドを知りました。

jot コマンドは、連番の数字やアルファベットを生成したり、ランダムな数字を生成したりに使えます。

連番ファイル名などを作るのに大活躍です。

上手に使えば、Bashスクリプトseq$RAMDOM よりも便利かもしれないっす。

連番を作る

takuya@~$ jot  10 
1
2
3
4
5
6
7
8
9
10

連番をカウントダウン(逆順・降順)

文字列+連番名を作る例

takuya@~$ jot -w  abc 10
abc1
abc2
abc3
abc4
abc5
abc6
abc7
abc8
abc9
abc10

printf のフォーマットで文字列を揃える

takuya@~$ jot   -w 'name%03d'  3 8
name008
name009
name010

アルファベットを連続して生成する

takuya@~$ jot  -w %c 5 a
a
b
c
d
e

アルファベットを連続して生成して、区切り文字で連結する

takuya@~$ jot -w %c -s '_'  5 a
a_b_c_d_e

乱数を作る

takuya@~$ jot -r 3
40
73
84

指定範囲の乱数を作る

takuya@~$ jot -r 1  1 10
7

指定範囲の乱数を指定回数生成する

1から10までの乱数を3つ生成する

takuya@~$ jot  -r 3  1 10
8
10
5

乱数+文字列を作る

takuya@~$ jot -w abc -r 3  1 10
abc1
abc10
abc9

結果を文字列として結合する

乱数+文字列を連続してプリントする。

takuya@~$ jot -s aa  -r 3 10 100
25aa78aa70

応用して、ランダムなビット列っぽいものを作る

takuya@~$ jot -s ''  -r 10 0 1
0110110100

ランダム文字列を作る

ランダムな文字を生成して、結合してしまえばランダムな文字列が得られる

takuya@~$ jot -r -s '' -c  10   a z
oiaisaqaft

参考資料

シェルスクリプトで乱数を扱う - hyconの日記