在 mac os x 中批量修改文件名我个人总结了大致有那么 3 种办法:
- Finder 自带批量修改文件名功能(不支持正则匹配)
- 使用 homebrew 安装 rename, 然后就可以像在 linux 中一样使用 rename 命令批量修改
- 自己写脚本
第一种方法,可以满足大部分简单的需求,但毕竟不支持正则,使用场景有限。第二种方法,rename 固然可以满足我的要求,但处理大量的文件不能提供处理进度,也不能生成满意的 log ,感觉不如自己实现一把来得更有安全感。自己实现还有个好处,后面可以自由扩展功能,随心所欲。作为码农,自己能种瓜种豆养鸡养鸭,结果荒废土地跑去赶集,那一定不是个好码农。自己动手,丰衣足食。
注意,我要批量处理的文件有-前缀,在命令行中处理这样的文件需要额外加上 -- , 否则-会被当作命令的选项提示符。比如
$ mv -old.txt new.txt # wrong
$ mv -- -old.txt new.txt # rightshell 脚本调试工具采用的是 bash debugger ,下载地址戳这里。作者为不同的 shell 提供了不同的封装。我常用的 shell 是 zsh,因此下载了 zshdb。尽管官方提供了从源码编译安装的文档,但实际上可以直接从 homebrew 安装,如下
$ brew install zsh