如何使用终端批量重命名特定前缀的MacOS文件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计566个文字,预计阅读时间需要3分钟。
使用终端命令批量重命名带有特定前缀的文件,关键在于使用精确匹配的选项。以下是一个简单的示例命令,它使用系统自带的for循环和mv命令来重命名特定格式的文件:
匹配并移除指定前缀(例如删掉 “draft_”)
假设当前目录下所有文件都以 draft_ 开头,你想把它们全部改成不带这个前缀的名字:
- 先确认有哪些文件:
ls draft_* - 执行重命名:
for file in draft_*; do mv "$file" "${file#draft_}"; done
说明:${file#draft_} 是 Bash/Zsh 的参数扩展语法,表示“从左边去掉第一个匹配的 draft_”,比用 sed 更轻量、更可靠。
匹配并替换成新前缀(例如把 “old_” 换成 “new_”)
如果原文件是 old_config.txt、old_log.json,你想统一改为 new_config.txt、new_log.json:
- 运行命令:
for file in old_*; do mv "$file" "new_${file#old_}"; done
注意:这里用的是 ${file#old_} 去掉旧前缀,再拼上新前缀,避免误改文件名中间或后缀里偶然出现的 “old_”。
本文共计566个文字,预计阅读时间需要3分钟。
使用终端命令批量重命名带有特定前缀的文件,关键在于使用精确匹配的选项。以下是一个简单的示例命令,它使用系统自带的for循环和mv命令来重命名特定格式的文件:
匹配并移除指定前缀(例如删掉 “draft_”)
假设当前目录下所有文件都以 draft_ 开头,你想把它们全部改成不带这个前缀的名字:
- 先确认有哪些文件:
ls draft_* - 执行重命名:
for file in draft_*; do mv "$file" "${file#draft_}"; done
说明:${file#draft_} 是 Bash/Zsh 的参数扩展语法,表示“从左边去掉第一个匹配的 draft_”,比用 sed 更轻量、更可靠。
匹配并替换成新前缀(例如把 “old_” 换成 “new_”)
如果原文件是 old_config.txt、old_log.json,你想统一改为 new_config.txt、new_log.json:
- 运行命令:
for file in old_*; do mv "$file" "new_${file#old_}"; done
注意:这里用的是 ${file#old_} 去掉旧前缀,再拼上新前缀,避免误改文件名中间或后缀里偶然出现的 “old_”。

