Сценарий оболочки для поиска и изменения размера изображений, которые имеют - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь создать файл оболочки, который я могу установить и забыть ...

Изображения с разрешением выше 1920px.Более чем 1920 кажется мне слишком высоким для интернет-магазина anno 2018 ... На изображении 8K + iPhone в Chrome bv просто падает ...

Я уже заменил скрипты во многих местахнасколько это возможно, чтобы отображались соответствующие разрешения внешнего интерфейса и, следовательно, исходные файлы просто не изменялись.Пример 4000 x 6720 оригинал, теперь 500 х 1000 и показаны в 250 х 500 (так что он все еще острый на сетчатке).Затем они будут в этом более низком разрешении в Magento Cache, а затем в Varnish Cache.

Идея состоит в том, чтобы создать сценарий оболочки, который будет очищать эти «слишком большие» файлы с измененным размером:

find /home/customer/customer.com \
  -type f \
  -regex "^. * \. \ (png \ | jpg \ | jpeg \) $" \
  -exec identify -format "% d,% w /% f,% h \ n "{} \; \
  | awk -F ',' '$ 2> 1080 && $ 3> 1920' \
  | grep "png \ | jpg \ | jpeg"

Дает мне:

/home/sample/sample.com/media/catalog_fm/1453138191_LIU.JO_Dames_kleed_P16049T1633_nero_2_x15148601020101.jpg, 1440, 2160
/home/sample/sample.com/media/catalog_fm/1446052276_LIU.JO JEANS_Dames_vest_W65221E0139_22222_2_x14864501010101.jpg, 1440, 2160
/home/sample/sample.com/media/catalog_fm/1446655568_LIU-JO ACCESOIRES_Dames_shoes & boots_S65019P0055_22222_4_x14874601010101.jpg, 1440, 2160
...

Цель состоит в том, чтобы изменить его размер следующим образом:

convert FILENAME -verbose -resize x1920 FILENAME

Я хочу выполнить все эти отдельные шаги в одной оболочкефайл.Теперь я копирую сгенерированный файл> .txt и извлекаю его, запускаю скрипт с копией вставленных данных вручную.

1 Ответ

0 голосов
/ 20 октября 2018

Я не думаю, что ваш подход является лучшим, вы можете сказать, чтобы преобразовать только изменить размер изображения, если они больше, IIRC:

convert -resize ${MAXWIDTH}x${MAXHEIGHT}\>  ${FILENAME}

Так что вы можете просто найти все фотографии и развернуть поиск наих:

find . -type f \( -name "*.png" -or -name "*.jpg" -or -name "*.jpeg"\) -exec convert -resize ${MAXWIDTH}x${MAXHEIGHT}\> {} \;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...