通过命令行批量重命名?

通过命令行批量重命名?

我有一个 Media Temple (dv) 服务器,正在其上设置 Magento。

我已经将几千张图片上传到客户提供的 /media/import 目录。问题是,有些图片是 .jpg,有些是 .JPG。

有没有办法在服务器上批量重命名它们?我真的不想在本地进行重命名然后重新上传它们。

我理想情况下会将它们全部改为小写,以便它们与 Magento 使用的其他图像命名方案保持一致。

谢谢,

丹尼

答案1

一个 bash 建议:

   for file in *.JPG; do newfile=`echo $file|sed 's/.JPG$/.jpg/'` ; mv -i "$file" "$newfile" ; done

它循环遍历所有扩展名为 .JPG 的文件,并为每个文件使用 sed 通过将终端 .JPG 转换为终端 .jpg 来构造新文件名,然后执行 mv。这-i只是以防万一您有一个 fred.JPG一个 fred.jpg。不要忘记区分单引号和反引号,两者都有用,并且不是可互换。

答案2

如果您安装了该实用程序rename(它是一个 Perl 脚本),您可以执行以下操作:

rename 'y/A-Z/a-z/' *

相关内容