使用Guetzli监视文件夹并压缩jpeg的自动脚本

时间:2018-10-18 03:28:19

标签: bash automator image-compression libjpeg-turbo

我正在尝试创建一个文件夹操作,以使用guetzli压缩图像。我正在查看图像文件夹,并且如果文件名中包含不带“ compp”的图像,则在其上运行guetzli。这是脚本。如果我从automator中运行它,效果很好,但是当我保存它时,它会陷入无限循环并创建同一文件的多个版本,并向其中添加compp,即`test-compp.jp,test-compp -compp.jpg”。不知道我在想什么。

for img in "$@"
do
filename=${img%.*}-compp
    /usr/local/Cellar/guetzli/1.0.1/bin/guetzli --quality 85 "$img" "$filename.jpg"
    echo "$img"
done

enter image description here

1 个答案:

答案 0 :(得分:1)

您缺少检查文件名中是否没有字符串compp的条件。因此,每次都会创建一个新文件,这将无限次调用新的执行广告。

添加条件应该可以,即

for img in "$@"; do
    [[ $img == *"compp"* ]] && continue
    filename=${img%.*}-compp
    /usr/local/Cellar/guetzli/1.0.1/bin/guetzli --quality 85 "$img" "$filename.jpg"
    echo "$img"
done