Оптимизация изображения с помощью imageOptim с использованием bash. Как получить резюме

Я нашел решение для моего вопроса в Интернете. По-видимому, чтобы Conky (или что-то еще в этом случае) работал с драйверами Broadcom, вам нужно запустить приложение как суперпользователя. Таким образом, чтобы устранить проблему, вы должны:

sudo conky -d

вместо

conky -d

Кроме того, проблема eth1 / wlan0 специфична для драйверов Broadcom ( и должно случиться с ними)

1
задан 19 February 2015 в 20:43

1 ответ

Вы можете попробовать этот oneliner с помощью find и perl:

sudo find . -type d -exec  sh -c "./jpegoptim --strip-all -t {}/*.jpg" \; | perl -e '@a=<>; $a=join("", @a); @b = $a =~ /%\s+\((\d+)k\)/g; foreach my $n (@b) {$sum = $sum + $n}; print "Total saved ${sum}k\n"'

Вам нужно скопировать jpegoptim в каталог, в котором вы, конечно, запускаете команду find. 1]

Баш-цикл не нужен, а find может фильтровать каталоги с типом -d.

Часть perl будет просто анализировать «% (сохраненный размер для каждого k) "и суммировать все значения перед печатью одной строки только с суммой.

find . -type d возвращает только каталоги. -exec <command> \; запустит заданную команду для каждого каталога sh -c "", так как нам нужна оболочка для интерпретации подстановочного символа * .jpg. весь вывод передается по каналам | в perl perl, сначала создайте массив с stdin (& lt;>, оператор алмаза), @a. Затем, присоединенный к строке, $ a @b = $a =~ /%\s+\((\d+)k\)/g поместит в массив @b все согласованные строки, включенные в средние строки суммирования сжатия, используя регулярное выражение. Наконец foreach my $n (@b) {$sum = $sum + $n} суммируйте все значения массивов перед печатью результата
3
ответ дан 24 May 2018 в 10:34
  • 1
    Было бы неплохо, если бы вы могли кратко объяснить каждую команду. – Registered User 21 March 2014 в 14:56
  • 2
    на самом деле у моих папок с изображениями недостаточно прав для их изменения, поэтому я запускаю его с помощью sudo. Без sudo у меня появились ошибки. Спасибо за вашу помощь. Я попробую. – Salvador Dali 21 March 2014 в 15:28
  • 3
    Я изменил свой ответ соответственно – Sylvain Pineau 21 March 2014 в 15:30

Другие вопросы по тегам:

Похожие вопросы: