我使用此脚本将目录中的所有 .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"' {} {} \;
关于Bash:多重模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5846860/