shufコマンドで指定した範囲からランダムにn個の数字を抽出する
Pocket

ふと、ロト6とかロト7買おうと思ったのだけど、あんまり数字を当てる自信がないのでコマンドでランダムに決めてしまおうと思った。
で、Linuxのコマンドでランダムにn個の数字を得る場合はshufコマンドが便利なので、それで得ることにした。

shuf -i○-● -n NUM | sort -n

 

つまり、ロト6やロト7で記述する数字を出す場合、以下のようにすればよいということだ。

●ロト6

shuf -i1-43 -n 6 | sort -n

 

●ロト7

shuf -i1-37 -n 7 | sort -n
Sponsored Links

[root@BS-PUB-CENT7-01 ~]# shuf -i1-43 -n 6 | sort -n
12
14
25
30
32
36
[root@BS-PUB-CENT7-01 ~]# shuf -i1-43 -n 6 | sort -n
4
5
6
12
16
37
[root@BS-PUB-CENT7-01 ~]#
[root@BS-PUB-CENT7-01 ~]# shuf -i1-37 -n 7 | sort -n
6
7
10
17
19
25
31
[root@BS-PUB-CENT7-01 ~]# shuf -i1-37 -n 7 | sort -n
6
11
18
23
26
28
36

 

出力を一行にする場合は、最後にsedを入れてやろう。

shuf -i1-43 -n 6 | sort -n | sed -z 's/\n/,/g;s/,$/\n/g'
shuf -i1-37 -n 7 | sort -n | sed -z 's/\n/,/g;s/,$/\n/g'
[root@BS-PUB-CENT7-01 ~]# shuf -i1-43 -n 6 | sort -n | sed -z 's/\n/,/g;s/,$/\n/g'
4,20,26,34,35,43
[root@BS-PUB-CENT7-01 ~]# shuf -i1-43 -n 6 | sort -n | sed -z 's/\n/,/g;s/,$/\n/g'
10,19,20,25,27,40
[root@BS-PUB-CENT7-01 ~]#
[root@BS-PUB-CENT7-01 ~]# shuf -i1-37 -n 7 | sort -n | sed -z 's/\n/,/g;s/,$/\n/g'
5,25,26,30,31,33,35
[root@BS-PUB-CENT7-01 ~]# shuf -i1-37 -n 7 | sort -n | sed -z 's/\n/,/g;s/,$/\n/g'
4,5,6,24,25,26,32
Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。