首页 > Linux操作系统 > Linux操作系统 > shuf -- 产生随机的排列
[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
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70021587/viewspace-2912581/ ,如需转载,请注明出处,否则将追究法律责任。