在 Mac OS X 中使用一个命令重命名文件和扩展名

在 Mac OS X 中使用一个命令重命名文件和扩展名

有没有办法用一个命令重命名多个文件。在 Windows 中,我知道命令

ren *.* *.jpg

Mac OS X 中是否有类似的命令可以运行,而不必在每个单独的文件上按回车键并进行重命名。

答案1

在类unix系统中,使用find更容易

find ./  

(首先尝试一下,以确保你的文件列表符合你的预期

find ./ -exec mv ${} ${}.jpg \; 

这会将 .jpg 附加到找到的每个文件的末尾。更改最终扩展名(而不仅仅是附加)的正则表达式留给读者练习。

答案2

虽然使用findfor循环很有效,但 Perl 通常会自带/usr/bin/rename(至少在 Linux 中),但我不确定您是否在 MacOSX 上拥有它(至少在我的旧 10.3 中没有)。

如果你没有,你可以从以下位置获取此脚本消费者行动网络。 和这就是使用它:

$ ls
   tata.jpg  titi.jpg  toto.jpg  truc  tutu
$ rename -v 's/\.jpg$/.JPG/' *.jpg
   tata.jpg renamed as tata.JPG
   titi.jpg renamed as titi.JPG
   toto.jpg renamed as toto.JPG
$ ls
   tata.JPG  titi.JPG  toto.JPG  truc  tutu

答案3

这将起作用(并带来更大的灵活性):

shopt -s extglob
for file in *.*; do mv ${file} ${file/%.*([^.])/.jpg}; done

还有非标准的 Unix 命令行工具可以更简洁地完成工作。

相关内容