我使用以下代码将目录及其子目录中的每个图像文件从其他格式转换为png格式。
find $1 -type f -name '*.jpeg' -o -name '*.jpg' -o -name '*.gif' -o -name '*.GIF' -o -name '*.PNG' | xargs -n 1 -I {} convert {} -set filename:base '%i' '%[basename]' '%[filename:base].png'
图像转换为png但我得到了奇怪的结果。图像abc.jpg转换为abc.jpg.png,而我希望转换后的图像名为abc.png。
我不明白这里发生了什么。有人可以帮忙吗?我不想使用morgify。
使用相同的基本名称转换,但使用其他后缀:
find ... | xargs -n 1 -I {} convert {} -set filename:base '%d/%t' '%[filename:base].png'
%d
:路径的目录组件
%t
:没有目录或扩展名的文件名(后缀)