Shun 发表于 2022-9-1 11:13:15

shuf -- 产生随机的排列

shuf -- 产生随机的排列


随机生成10次抛硬币结果

$ shuf
-r
-n
10
-e
'正面'
'反面'


正面


反面


正面


反面


反面


反面


正面


反面


反面


正面主要用途

[*]将输入的内容随机排列并输出。
[*]当没有文件或文件为-时,读取标准输入。
选项


-e         将每个 ARG 视为输入行



-i         将数字范围 LO (最低)到 HI (最高)之间的数字作为输入行



-n         只输出前 COUNT 行



-o         将结果写入到文件而不是标准输出



-r         输出行可以重复



-z         行终止符为 NUL (空字符) 而不是默认的换行符参数
FILE (可选): 要处理的文件,可以为任意数量,以空格分隔。
ARG (可选): 作为输入行的字符串,可以为任意数量,以空格分隔。
返回值
返回0标识成功,返回非0标识失败。
例子
使用-e标志传入输入。


$ shuf
-e Monday Tuesday Wednesday Thursday Friday Saturday Sunday      


Monday


Wednesday


Thursday


Saturday


Sunday


Tuesday


Friday使用-i标志。


$ shuf
-i
1
-10



6



3



7



8



5



4



9



2



10



1使用-n标志。


$ shuf
-n
5
-i
1
-10



1



10



3



5



7使用-o参数。




如果指定的文件不存在,则会自动创建文件并写入结果


如果指定的文件已经存在,则会先清空内容,再写入结果

$ shuf
-i
1
-10
-o result.txt



$ cat result.txt



1



9



3



7



6



4



5



8



2



10使用-r标志。


$ shuf
-n
10
-e a b c d


d


a


c


b



$ shuf
-r
-n
10
-e a b c d


a


a


a


d


d


d


a


b


d


b使用-z标志。


全部输出都在同一行

$ shuf
-r
-z
-n
10
-e a b c d


cbbbadbcbc其他:


$ shuf
-i
1
-100
-n
5 && shuf
-i
200
-300
-n
5                  



96



11



34



2



29



273



208



278



257



271



$ 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






http://blog.itpub.net/70021587/viewspace-2912581/
页: [1]
查看完整版本: shuf -- 产生随机的排列