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 会将整个文件加载到内存中

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

相关推荐
SkyWalking中文站38 分钟前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
tntxia18 小时前
linux curl命令详解_curl详解
linux
扛枪的书生20 小时前
Linux 网络管理器用法速查
linux
SkyWalking中文站1 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
顺风尿一寸1 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
雪梨酱QAQ1 天前
Kubeneters HA Cluster部署
运维
江华森1 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森1 天前
Matplotlib 数据绘图基础入门
运维
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
江华森1 天前
NumPy 数值计算基础入门
运维