作用: 随机排序文件
描述:有时候我们需要将文本的顺序打乱,也就是随机排序,做法是写个shell利用bash里的内置变量"$RANDOM"进行排序,然后打印
说明:
1、命令属于"coreutils"包,如果系统没有,请 yum install coreutils安装
2、命令能够接受标准输入,即管道
参数:
参数 | 描述 |
-n | 最多显示多少行 |
-o | 将随机排序后的输出写到一个文件中 |
-i | 指定范围输出 |
-z | 以0结束行 |
补充: 发现用"sort -R"也可以随机排序,只是效率比"shuf"稍微慢一点儿;查询帮助文档:man sort的相关说明: -R, --random-sort (sort by random hash of keys)
实例:
[root@ /cdly/awk]# seq 10|shuf
3
5
7
9
10
6
2
8
1
4
[root@ /cdly/awk]# seq 10|shuf -n 3
9
10
6
[root@ /cdly/awk]# seq 10|shuf -n 3
2
3
9
[root@ /cdly/awk]# seq 10|shuf -n 3 -o file
[root@ /cdly/awk]# cat file
9
4
3
[root@ /cdly/awk]# shuf -i 10-30 -n3
24
17
29
[root@ /cdly/awk]# shuf -i 10-30 -n3
20
30
13
[root@ /cdly/awk]# seq 10|shuf -i5-10 -n 2
5
10
[root@ /cdly/awk]# seq 10|shuf -i5-10 -n 2
10
5
[root@ /cdly/awk]# seq 10|shuf -i5-10 -n3
10
9
7
[root@ /cdly/awk]# seq 10|shuf -i5-10 -n3 -z
697
[root@ /cdly/awk]# seq 10|shuf -i5-10 -n3 -z|cat -A
5^@8^@9^@