Linux常用命令-shuf

命令

shuf

描述

generate random permutations
随机显示行

用法

1
2
3
shuf [OPTION]... [FILE]
shuf -e [OPTION]... [ARG]...
shuf -i N-M [OPTION]...

选项

1
2
3
4
5
6
Options:
-e 按行显示每个参数
-i 指定范围行
-n 最多显示几行
-o 将结果保存到文件
-r 允许输出重复行

注意

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
$ seq 1 5 > a
# 顺序显示行
$ more a
1
2
3
4
5
# 乱序显示行
$ shuf a
3
1
5
4
2
$ echo a b c d e f > a
$ cat a
a b c d e f
# -e按行随机显示每个参数
$ shuf -e $(cat a)
a
e
b
c
f
d
$ shuf -e 1 2 3 4 5
2
5
3
1
4
# 顺序显示1-10
$ seq 1 10
# 乱序显示1-10
$ seq 1 10 | shuf
# 或
$ shuf -i 1-10
# 或
$ shuf -e $(seq 1 10)
5
4
6
...
# 顺序显示a-z
$ echo {a..z}
# 乱序显示a-z
$ shuf -e $(echo {a..z})
y
w
s
...
# -i指定范围行,只随机显示1-3行
$ cat a | shuf -i 1-3
2
1
3
# -n最多显示3行
$ shuf -n 3 a
3
4
5
# -r允许出现重复的行
$ shuf -n3 -r a
5
5
2