为所有文件添加 .jpg 扩展名

为所有文件添加 .jpg 扩展名

我有一个目录,其中一些文件的扩展名是大写(.JPG)而不是小写。

我想确保每个文件的扩展名都是 .jpg。我该如何在 shell 提示符下执行此操作?

答案1

使用Shell 参数扩展

for f in *.JPG; do
    mv "${f}" "${f%%.JPG}.jpg"
done

字符"将处理包含空格的文件名,就像照片通常那样。

答案2

如果您可以使用外部工具(不仅仅是 bash),请检查rename命令!

rename .JPG .jpg *

rename的一部分util-linux

答案3

如果文件名中有空格:

for f in *.JPG; do [[ -f "${f}" ]] && mv "${f}" "${f/%JPG/jpg}"; done

答案4

如果文件名中没有空格:

for f in *.JPG; do mv $f `echo $f | sed 's/JPG$/jpg/'`; done

相关内容