Изменить несколько изображений из консоли

Я знаю, конвертировать изменения из формата изображения в другой. mogrify также может изменять размер и масштабировать несколько изображений. Но КАК я могу изменить все изображения в каталоге, включая подкаталоги. Как, например, изменить каждое изображение внутри папки и ее подпапок из одного формата PNG в другой формат JPG.

Или измените размер всех изображений в папке и ее подпапках до желаемого.

1 ответ

Решение

Поскольку mogrify принимает список файлов, разделенных переносами строк, вы можете сделать это:

mogrify -equalize $(find -iname '*.png')

Я использую эквалайзер в качестве примера, но важный бит - последний.

  • Имя файла может быть любым выражением, которое выводит список файлов, я использую find -iname '*.png' В качестве примера. Вы можете поиграть с find Команда, пока он не даст вам список файлов, которые вы хотите.

Важно, чтобы команда, которую вы вводите $() возвращает список файлов с их правильным путем. ls -Ra просто вернет имя файла. Выход из find | grep png с другой стороны выглядит так:

./Webcam/lenovo-maverick-20110101-1.png
./lenovo-maverick-20110101-2.png
./lenovo-maverick-20110101-1.png

куда . означает "текущий рабочий каталог".

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