1 | shuf
|
2 | ===
|
3 |
|
4 | 产生随机的排列。
|
5 |
|
6 | ## 概要
|
7 |
|
8 | ```shell
|
9 | shuf [OPTION]... [FILE]
|
10 | shuf -e [OPTION]... [ARG]...
|
11 | shuf -i LO-HI [OPTION]...
|
12 | ```
|
13 |
|
14 | ## 主要用途
|
15 |
|
16 | - 将输入的内容随机排列并输出。
|
17 | - 当没有文件或文件为`-`时,读取标准输入。
|
18 |
|
19 | ## 选项
|
20 |
|
21 | ```shell
|
22 | -e, --echo 将每个ARG视为输入行。
|
23 | -i, --input-range=LO-HI 将数字范围LO(最低)到HI(最高)之间的作为输入行。
|
24 | -n, --head-count=COUNT 只输出前COUNT行。
|
25 | -o, --output=FILE 将结果写入到文件而不是标准输出。
|
26 | --random-source=FILE 将FILE中内容作为随机数据源。
|
27 | -r, --repeat 输出行可以重复。
|
28 | -z, --zero-terminated 行终止符为NUL(空字符)而不是默认的换行符。
|
29 | --help 显示帮助信息并退出。
|
30 | --version 显示版本信息并退出。
|
31 | ```
|
32 |
|
33 | ## 参数
|
34 |
|
35 | FILE(可选):要处理的文件,可以为任意数量。
|
36 |
|
37 | ARG(可选):作为输入行的字符串,可以为任意数量。
|
38 |
|
39 | ## 返回值
|
40 |
|
41 | 返回0表示成功,返回非0值表示失败。
|
42 |
|
43 | ## 例子
|
44 |
|
45 | ```shell
|
46 | # 模拟硬币抛掷,获取前10个结果:
|
47 | [user2@pc ~]$ head -r -n 10 -e "正面" -e "反面"
|
48 | 反面
|
49 | 正面
|
50 | 正面
|
51 | 正面
|
52 | 反面
|
53 | 反面
|
54 | 反面
|
55 | 正面
|
56 | 正面
|
57 | 正面
|
58 | ```
|
59 |
|
60 | ```shell
|
61 | # 体彩超级大乐透:
|
62 | [user2@pc ~]$ shuf -i 1-35 -n 5|sort -n && shuf -i 1-12 -n 2|sort -n
|
63 | 4
|
64 | 17
|
65 | 20
|
66 | 29
|
67 | 31
|
68 | 6
|
69 | 11
|
70 | ```
|
71 |
|
72 |
|
73 | ### 注意
|
74 |
|
75 | 1. 该命令是`GNU coreutils`包中的命令,更多详细的帮助信息请查看`man -s 1 shuf`,`info coreutils 'shuf invocation'`。
|
76 |
|
77 |
|