Сжатие изображений без имен файлов в пакете - PullRequest
0 голосов
/ 09 мая 2018

У меня есть форум phpbb, на котором есть около 40 ГБ изображений, и я хотел бы удалить их все. Основная проблема заключается в том, что все изображения находятся в папке, в которой изображения не имеют расширений и являются файлами 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 МБ и 16 МБ соответственно.

Я с нетерпением жду вашего ответа.

...