我使用这个脚本将目录中的所有.png
文件转换为.jpg
文件。如果我想将不仅是png文件,而且还有tif、gif和bmp文件转换为jpg,该如何修改此脚本?
#!/bin/bash
for f in *.png ; do
convert "$f" -resize 50% "${f%.*}.jpg"
done
我使用这个脚本将目录中的所有.png
文件转换为.jpg
文件。如果我想将不仅是png文件,而且还有tif、gif和bmp文件转换为jpg,该如何修改此脚本?
#!/bin/bash
for f in *.png ; do
convert "$f" -resize 50% "${f%.*}.jpg"
done
只需添加您想要处理的扩展名即可,例如:
for f in *.png *.tif *.gif; do
或者只需:
for f in *.{png,tif,gif}; do
另一种方法可能是:查找目录或文件夹树中的所有图像文件并将它们转换为JPG格式,但如果图像已经是JPG文件,则不进行转换;例如(未经过测试):
find . -exec bash -c 'file "$1" | grep "image data" | grep -iv JPEG && convert "$1" -resize 50% "${1%.*}.jpg"' {} {} \;
for f in *.{png,tif,gif,bmp}; do