shuf -- 产生随机的排列随机生成10次抛硬币结果
[user@master]
$ shuf
-r
-n
10
-e
'正面'
'反面'
正面
反面
正面
反面
反面
反面
正面
反面
反面
正面 主要用途
- 将输入的内容随机排列并输出。
- 当没有文件或文件为-时,读取标准输入。
选项-e 将每个 ARG 视为输入行
-i 将数字范围 LO (最低)到 HI (最高)之间的数字作为输入行
-n 只输出前 COUNT 行
-o 将结果写入到文件而不是标准输出
-r 输出行可以重复
-z 行终止符为 NUL (空字符) 而不是默认的换行符 参数
FILE (可选): 要处理的文件,可以为任意数量,以空格分隔。
ARG (可选): 作为输入行的字符串,可以为任意数量,以空格分隔。
返回值
返回0标识成功,返回非0标识失败。
例子
使用-e标志传入输入。[user@master]
$ shuf
-e Monday Tuesday Wednesday Thursday Friday Saturday Sunday
Monday
Wednesday
Thursday
Saturday
Sunday
Tuesday
Friday 使用-i标志。[user@master]
$ shuf
-i
1
-10
6
3
7
8
5
4
9
2
10
1 使用-n标志。[user@master]
$ shuf
-n
5
-i
1
-10
1
10
3
5
7 使用-o参数。如果指定的文件不存在,则会自动创建文件并写入结果
如果指定的文件已经存在,则会先清空内容,再写入结果
[user@master]
$ shuf
-i
1
-10
-o result.txt
[user@master]
$ cat result.txt
1
9
3
7
6
4
5
8
2
10 使用-r标志。[user@master]
$ shuf
-n
10
-e a b c d
d
a
c
b
[user@master]
$ shuf
-r
-n
10
-e a b c d
a
a
a
d
d
d
a
b
d
b 使用-z标志。全部输出都在同一行
[user@master]
$ shuf
-r
-z
-n
10
-e a b c d
cbbbadbcbc 其他:[user@master]
$ shuf
-i
1
-100
-n
5 && shuf
-i
200
-300
-n
5
96
11
34
2
29
273
208
278
257
271
[user@master]
$ shuf
-i
1
-100
-n
5 |
sort
-n && shuf
-i
200
-300
-n
5 |
sort
-n
30
33
40
47
63
208
221
245
268
269
|