批量压缩没有文件名的图像

时间:2018-05-09 09:50:33

标签: linux imagick jpegtran

我有一个phpbb论坛,它有大约40 GB的图片,我想把它们全部剥掉。主要问题是所有图像都位于图像没有扩展名的文件夹中,而且它们是jpeg,png和gif,以及

我已经安装了optipng,jpegtran,pngquant,pngcrush,imagick等,但我无法批量优化文件,因为它说文件名无效。

我正在使用的剧本,对任何其他人来说都是完美无缺的#34;正常"带扩展名的图片是:

#!/bin/sh
# pngcrush
for png in `find . | grep .png`; do
    echo "crushing $png ..."
    pngcrush -rem alla -reduce -brute "$png" temp.png

    # preserve original on error
    if [ $? = 0 ]; then
        mv -f temp.png $png
    else
        rm temp.png
    fi
done

# jpegtran
for jpg in `find . | grep .jpg`; do
    echo "crushing $jpg ..."
    jpegtran -copy none -optimize -perfect "$jpg" > temp.jpg

    # preserve original on error
    if [ $? = 0 ]; then
        mv -f temp.jpg $jpg
    else
        rm temp.jpg
    fi
done

图像示例:

10028_0a41aaddab65adcbcdcce682bc733dae 14206_159fab7918af92e498d9616a65852246

正如我之前告诉过你的,我不知道这些图片是jpeg还是png;此示例中的图像分别为22 mb和16 mb。

我期待着您的回复。

0 个答案:

没有答案