将所有非 JPG 图像转换为 JPG

whi*_*ngs 5 conversion images command

我可以使用什么命令将文件夹中不是 JPG(主要是 PNG 和 BMP)的所有图像转换为 JPG?我还希望转换质量为 100%。我希望转换后的图像替换原件。

Ban*_*uin 4

假设该文件夹中只有图像,您可以

ls | grep -v jpg$
Run Code Online (Sandbox Code Playgroud)

获取所有不以 结尾的文件名jpg,我认为这是您要转换的所有图像。然后你可以像这样使用ImageMagickconvert的工具

ls | grep -v jpg$ | while IFS= read -r FILENAME
do
    convert "${FILENAME}" "${FILENAME%.*}.jpg"
done
Run Code Online (Sandbox Code Playgroud)

convert命令扩展为convert <file name as printed by ls> <file name without extention>.jpg. 扩展名jpg会告诉您convert转换为 jpg 格式。