shuf

产生随机的排列。

概要

  1. shuf [OPTION]... [FILE]
  2. shuf -e [OPTION]... [ARG]...
  3. shuf -i LO-HI [OPTION]...

主要用途

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

选项

  1. -e, --echo 将每个ARG视为输入行。
  2. -i, --input-range=LO-HI 将数字范围LO(最低)到HI(最高)之间的作为输入行。
  3. -n, --head-count=COUNT 只输出前COUNT行。
  4. -o, --output=FILE 将结果写入到文件而不是标准输出。
  5. --random-source=FILE FILE中内容作为随机数据源。
  6. -r, --repeat 输出行可以重复。
  7. -z, --zero-terminated 行终止符为NUL(空字符)而不是默认的换行符。
  8. --help 显示帮助信息并退出。
  9. --version 显示版本信息并退出。

参数

FILE(可选):要处理的文件,可以为任意数量。

ARG(可选):作为输入行的字符串,可以为任意数量。

返回值

返回0表示成功,返回非0值表示失败。

例子

  1. # 模拟硬币抛掷,获取前10个结果:
  2. [user2@pc ~]$ head -r -n 10 -e "正面" -e "反面"
  3. 反面
  4. 正面
  5. 正面
  6. 正面
  7. 反面
  8. 反面
  9. 反面
  10. 正面
  11. 正面
  12. 正面
  1. [user2@pc ~]$ shuf -i 1-35 -n 5|sort -n && shuf -i 1-12 -n 2|sort -n
  2. 4
  3. 17
  4. 20
  5. 29
  6. 31
  7. 6
  8. 11

注意

  1. 该命令是GNU coreutils包中的命令,更多详细的帮助信息请查看man -s 1 shufinfo coreutils 'shuf invocation'