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:允许重复输出行(默认不重复)

典型应用场景:

  1. 随机选择文件中的行:
bash 复制代码
shuf input.txt -n 5  # 从input.txt中随机选取5行
  1. 生成随机数序列:
bash 复制代码
shuf -i 1-100 -n 10  # 生成1-100范围内的10个不重复随机数
  1. 随机排列参数列表:
bash 复制代码
shuf -e 苹果 香蕉 橙子 梨
  1. 创建随机密码(结合其他命令):
bash 复制代码
shuf -n 4 /usr/share/dict/words | tr -d '\n'
  1. 随机分配任务:
bash 复制代码
shuf employees.txt | split -l 5 - team_  # 将员工随机分成每组5人

注意事项:

  • 默认情况下,shuf 不会重复输出相同的行
  • 使用 -r 选项可以允许重复输出
  • 在不指定文件时,shuf 会从标准输入读取数据
  • 对于大文件处理,shuf 会将整个文件加载到内存中

该命令在需要随机化数据的场景中非常有用,如测试数据准备、抽奖程序、随机抽样等应用。

相关推荐
2401_868534789 分钟前
以太网物理层标准
服务器·网络
tg_xianheyun16 分钟前
亚马逊云服务器部署网站的步骤与上线检查清单
服务器·阿里云·云计算
张洛闻Eren19 分钟前
Ansible【第一课】:Ansible介绍
运维·数据库·云原生·kubernetes·github·ansible
GeW1 小时前
以Linux为基、数据库为核:新质生产力路线图下的企业架构升级
linux
郝亚军1 小时前
RK3562 中有 mosquitto、nginx 了,还需要 http,ftp,tftp 等协议吗?
运维·nginx·http
云边云科技_云网融合1 小时前
从 POS 机到访客 Wi-Fi:零售门店安全建设的完整解法
服务器·网络·数据库
忆挽篱笙歌1 小时前
进程的状态
linux·ubuntu
kyle~1 小时前
Linux --- Socket 用户进程与内核网络协议栈之间的统一接口
linux·arm开发·网络协议
hiahiahia1231 小时前
Message 和对话
服务器·前端·数据库
重生之小比特1 小时前
【Linux系统】07 进程状态
linux·运维·服务器