Linux 的 shuf 命令
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:允许重复输出行(默认不重复)
典型应用场景:
- 随机选择文件中的行:
shufinput.txt-n5# 从input.txt中随机选取5行- 生成随机数序列:
shuf-i1-100-n10# 生成1-100范围内的10个不重复随机数- 随机排列参数列表:
shuf-e苹果 香蕉 橙子 梨- 创建随机密码(结合其他命令):
shuf-n4/usr/share/dict/words|tr-d'\n'- 随机分配任务:
shufemployees.txt|split-l5- team_# 将员工随机分成每组5人注意事项:
- 默认情况下,
shuf不会重复输出相同的行 - 使用
-r选项可以允许重复输出 - 在不指定文件时,
shuf会从标准输入读取数据 - 对于大文件处理,
shuf会将整个文件加载到内存中
该命令在需要随机化数据的场景中非常有用,如测试数据准备、抽奖程序、随机抽样等应用。
