Linux 的 shuf 命令是一个用于生成随机排列的实用工具,它可以从输入文件中随机排列行内容,或生成随机数序列。这个命令是 GNU coreutils 包的一部分,通常预装在大多数 Linux 发行版中。
基本语法:shuf [选项]... [文件]
常用选项:
-e, --echo:将每个参数视为输入行-i, --input-range=LO-HI:将 LO 到 HI 范围内的每个数字视为输入行-n, --head-count=COUNT:最多输出 COUNT 行-o, --output=FILE:将结果写入 FILE 而非标准输出-r, --repeat:允许重复输出行(默认不重复)
典型应用场景:
- 随机选择文件中的行:
bash
shuf input.txt -n 5 # 从input.txt中随机选取5行
- 生成随机数序列:
bash
shuf -i 1-100 -n 10 # 生成1-100范围内的10个不重复随机数
- 随机排列参数列表:
bash
shuf -e 苹果 香蕉 橙子 梨
- 创建随机密码(结合其他命令):
bash
shuf -n 4 /usr/share/dict/words | tr -d '\n'
- 随机分配任务:
bash
shuf employees.txt | split -l 5 - team_ # 将员工随机分成每组5人
注意事项:
该命令在需要随机化数据的场景中非常有用,如测试数据准备、抽奖程序、随机抽样等应用。