linux shuf命令----产生随机的排列
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
本文来自博客园,作者:雨-铃,原文链接:https://www.cnblogs.com/yuling25/p/linux_shuf.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】