0

我有一个 phpbb 论坛,其中有大约 40 GB 的图像,我想将它们全部删除。主要问题是所有图像都位于图像没有扩展名的文件夹中,它们是 jpeg、png 和 gif。

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

我正在使用的脚本对于任何其他带有扩展名的“正常”图像都可以正常工作是这样的:

#!/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。

我期待着您的回音。

4

0 回答 0