递归尝试重命名Mac OS终端中的文件

时间:2018-04-14 16:30:30

标签: bash macos terminal find rename

我有很多子文件夹,其中包含文本mainLine的文件。我想剥离该文本并递归重命名所有文件。

例如,我尝试将log12 mainLine.txt重命名为log12.txt,我尝试使用以下代码:

find . -exec rename -nvs '* mainLine*' '' * {} +

但我收到包含该模式的文件不变。

1 个答案:

答案 0 :(得分:0)

rename有很多版本,据我所知,Mac OS中默认没有安装它们;但是您使用的选项建议您使用一个期望文件名重命名为第三个和后续参数的选项。你显然是从某个地方复制/粘贴它而不理解它。您应该将*替换为要重命名的文件,或者更好的是,每个目录运行一次,并保持通配符完整。

find . -type d -execdir sh -c "rename -nvs '* mainLine*' '' *" \;