at_shiita.ishigaki
2022年2月24日 9時47分
数値や文字列をシャッフルするにはshufコマンドを使用します。
※ここでは例として、1から5までの数値をシャッフルする場合を示します。
1回目
[armadillo ~]# seq 1 5 | shuf
1
2
4
5
3
2回目
[armadillo ~]# seq 1 5 | shuf
3
4
1
2
5
1回目と2回目の値は違っていることが確認できます。
また、文字列をシャッフルすることもできます。
[armadillo ~]# cat > str << EOF
hoge
fuga
piyo
EOF
[armadillo ~]# shuf str
fuga
hoge
piyo
連続した数値をシャッフルするには、-iオプションを使用することもできます。
※ここでは例として、1から10までの数字をシャッフルし、出力します。
[armadillo ~]# shuf -i 1-10
2
6
8
9
7
3
1
5
10
4
出力する個数指定するには-nオプションを使用します。
※ここでは例として、1から10までの数値をシャッフルし、3つ表示します。
[armadillo ~]# shuf -i 1-10 -n 3
5
1
3
シャッフルする数値や文字列を直接入力する場合は、-eオプションを使用します。
[armadillo ~]# shuf -e hoge fuga piyo
piyo
hoge
fuga