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

如何使用Python将file1~file1000批量重命名为file1001~file2000

原命令失效原因

你使用的字符串替换逻辑没有单独提取文件名中的纯序号部分,会导致多位数序号的文件名替换结果错误(例如file10会被错误替换为file10010而非预期的file1010);同时file*通配符默认按字典序排序,会出现file10排在file2前面的问题,进一步打乱重命名顺序。

解决方案

方案1:纯Bash实现(无额外依赖,适配连续文件名场景)

如果确认file1到file1000的文件是连续无缺失的,直接通过seq生成序号循环重命名,逻辑最稳妥:

for i in $(seq 1 1000); do
  mv -i "file${i}" "file$((i + 1000))"
done

方案2:纯Bash实现(适配非连续文件名场景)

如果文件存在缺失,需要遍历现有文件后提取序号计算:

# 按数字自然序遍历所有匹配文件,避免排序混乱
ls -v file* | while read -r filename; do
  # 提取文件名中的数字序号
  ori_num=${filename#file}
  # 序号加1000生成新文件名
  new_name="file$((ori_num + 1000))"
  mv -i "${filename}" "${new_name}"
done

方案3:rename工具实现(更简洁,需Perl版rename)

Debian/Ubuntu等发行版默认预装Perl版本的rename工具,可一行实现需求:

# 先执行以下命令预览重命名结果,确认无误后删除-n参数正式执行
rename -n 's/file(\d+)/"file".($1 + 1000)/e' file*

注意:所有命令中的-i参数用于重名覆盖前触发确认提示,如果你确认目标路径不存在同名文件冲突,可以去掉-i参数提升执行效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:24:03