Как конвертировать все изображения в каталоге (и его подкаталогах) в Linux?

  • 503
  • 0
  • 100,00%
  • 1

Часто может возникнуть необходимость сконвертировать все картинки из одного формата в другой, например из PNG в JPG, в каком-либо заданном каталоге и всех его подкаталогах (т.е. рекурсивно).


Описание

В ОС Linux это делается многим способами и одним из самых простых, будет использование утилиты mogrify.

Для ее установки, необходимо установить пакет imagemagick, делается это следующими командами:

sudo apt update
sudo apt install imagemagick

Рассмотрим на примере конвертации всех изображений в каталоге /var/www/sysadmin/images и всех его подкаталогах из формата PNG в формат JPG, при этом уровень компрессии полученных JPEG изображений установим на уровне 85%. Для этого нам понадобится следующая команда:

find /var/www/sysadmin/images/ -name "*.png" -exec mogrify -quality 85 -format jpg {} \;

/var/www/sysadmin/images/ - это каталог (и все его подкаталоги), в котором будут искаться все файлы формата PNG.
mogrify -quality 85 -format jpg - это сама команда по конвертации в формат JPG, найденных PNG файлов.

В случае, если в папке уже есть изображение формата JPG с таким же именем, то оно будет перезаписано!

Варианты, с более тонкой настройкой качества:

find /var/www/sysadmin/images/ -name "*.png" -exec mogrify -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace sRGB -format jpg {} \;


Добавить комментарий

Ваш e-mail не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.