You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux命令行无需编写脚本如何随机打乱编号文件序号并重命名

Linux下无脚本随机打乱1-500.txt编号的实现方案

直接用系统默认预装的GNU coreutils工具就能实现,不需要写独立脚本、不需要额外安装软件,两行终端命令即可完成,全程不会出现文件覆盖、编号重复/遗漏的问题:

  • 第一步:先给所有目标文件加临时前缀,规避重命名过程中的文件名冲突
for i in {1..500}.txt; do mv -- "$i" "tmp_$i"; done
  • 第二步:生成1-500的无重复随机序列,按顺序对应重命名临时文件,完成编号随机映射
paste <(ls tmp_*.txt | sort -t_ -k2 -n) <(seq 1 500 | shuf) | while read old new; do mv -- "$old" "$new.txt"; done

逻辑说明

  • 先加tmp_前缀是核心:如果直接原地重命名,很容易出现「原67.txt还没重命名,就被改完名的1.txt覆盖」的问题,临时前缀可以彻底隔离新旧文件名
  • shuf是系统自带的随机排序工具,会输出1到500的无重复乱序序列,保证最终文件名刚好覆盖1.txt到500.txt,没有重号、没有漏号
  • 命令里的--是处理特殊文件名的保险写法,当前场景虽然文件名都是纯数字加后缀,加上可以兼容更通用的情况

注意:执行前请确认当前目录下没有以tmp_开头的.txt文件,避免误操作改动原有文件;稳妥起见可以先复制一份测试文件到空目录跑通流程,再在目标目录执行。

内容的提问来源于stack exchange,提问作者ryes31

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 15:27:15