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

Linux下如何批量重命名文件并将新旧文件名对应保存到文本文件

Linux下批量重命名pdb文件并生成映射关系操作方法

前置准备

先进入存放所有.pdb文件的目标目录:
cd /path/to/your/pdb/files

步骤1:验证文件排序(必须操作)

重命名的顺序由文件排序规则决定,执行以下命令确认输出的文件顺序符合你的预期:
ls -v *.pdb

  • 上述命令为自然排序,不会出现file1、file10、file2的错误排序问题
  • 如果你需要按文件修改时间从旧到新排序,替换为ls -tr *.pdb
  • 如果你需要按文件修改时间从新到旧排序,替换为ls -t *.pdb

步骤2:试运行验证重命名逻辑(建议操作)

先执行以下命令,不会实际修改文件,仅输出即将执行的重命名操作和映射关系,确认符合预期后再执行实际操作:

count=1
> filename_mapping.txt
for old_name in $(ls -v *.pdb); do
    new_name="L${count}.pdb"
    echo "${old_name} -> ${new_name}" >> filename_mapping.txt
    echo "即将执行重命名:mv ${old_name} ${new_name}"
    count=$((count+1))
done

检查输出的重命名规则和filename_mapping.txt内容无误后,再执行实际重命名。

步骤3:执行实际重命名

运行以下命令完成重命名,同时生成映射文件:

count=1
> filename_mapping.txt
for old_name in $(ls -v *.pdb); do
    new_name="L${count}.pdb"
    echo "${old_name} -> ${new_name}" >> filename_mapping.txt
    mv -- "${old_name}" "${new_name}"
    count=$((count+1))
done

适配低版本/极简环境方案

如果你的系统ls命令不支持-v参数,将遍历的$(ls -v *.pdb)替换为$(find . -maxdepth 1 -type f -name "*.pdb" | sort -V | sed 's|^\./||')即可。

注意事项

  • 操作前建议先备份所有原始.pdb文件,避免误操作导致文件丢失
  • 生成的filename_mapping.txt存放在当前操作目录下,每行为旧文件名到新文件名的对应关系

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 07:09:01