如何更改 Mac OS X 上子目录中的文件扩展名

How to change filename extensions in subdirectories on Mac OS X

我一直在尝试遍历一个目录结构,我想在其中将文件扩展名从 .mv4 更改为 .mp4

问题是很多文件名中有空格,我迭代目录结构一直没有成功

我正在终端中执行此操作。

有在单个目录中更改扩展名的示例,但不适用于子目录和文件名中有空格的示例。

您可以使用 "find" 的 -exec 参数来执行此操作:

 find . -type f -name "*.mv4" -exec sh -c 'mv "" "${1%.mv4}.mp4"' _ {} \;

从包含 mv4 文件的目录结构的基目录发出 "find" 命令,或指定该目录代替“.”。在上面的代码行 "find" 之后。

我在 Mac 运行 Yosemite 上测试了这个。它适用于包含空格的文件名。