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

macOS终端批量重命名:结合CSV加前缀并裁剪文件名

批量重命名文件解决方案

前置条件

  • 已通过Homebrew安装rename工具
  • 单列CSV文件(示例命名为codes.csv),每行对应一个国家/语言代码,顺序与文件的X值(1至24)完全匹配(第一行对应X=1的文件,第二行对应X=2,以此类推)
  • 所有目标.png文件与codes.csv处于同一目录,终端已切换到该目录

批量处理命令

使用Shell循环结合rename工具,一次性完成两个重命名操作:

#!/bin/bash
line_num=1
while IFS= read -r code; do
    # 匹配对应X值的目标文件
    target_file="*_Data Set ${line_num}-01.png"
    # 预览重命名结果(不会实际修改)
    rename -n "s/(.*)_Data Set ${line_num}-01(\.png)/${code}_\$1\$2/" "$target_file"
    line_num=$((line_num + 1))
done < codes.csv

关键说明

  1. 预览验证:命令中的-n参数用于预览重命名结果,不会实际修改文件名。先运行该命令,确认输出的新文件名符合EN_01-NameOfProject.png的格式要求。
  2. 执行修改:确认预览结果无误后,移除-n参数,重新运行命令即可完成实际重命名。
  3. 正则逻辑:
    • (.*)_Data Set ${line_num}-01(\.png):捕获文件名中_Data Set X-01之前的核心部分(如01-NameOfProject)和后缀.png
    • ${code}_\$1\$2:将捕获的部分替换为「代码前缀+核心文件名+后缀」的目标格式

特殊情况处理

  • 若CSV文件包含表头,请先删除表头行,或把line_num初始值设为0(确保第一行代码对应X=1的文件)
  • 若文件名包含空格或特殊字符,确保target_file变量用双引号包裹,避免匹配错误

内容的提问来源于stack exchange,提问作者Kostis K.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 05:52:13