Mac Terminal: просмотрите подкаталоги и оптимизируйте все изображения

Mac Terminal: просмотрите подкаталоги и оптимизируйте все изображения

У меня есть папка, содержащая много подпапок, полных изображений. См., например, прикрепленное изображение.

альт

По сути, я хочу перебрать их все и уменьшить размер изображений так, чтобы ни одно не было шире 1024 пикселей. Они все в формате jpeg.

Я знаю о командах SIPS, т.е.

sips -Z 1024 *.png

Однако это работает только в том случае, если все изображения находятся в текущем каталоге.

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

решение1

Вы можете запустить его с помощью find:find images/path -type f -name '*.png' -exec sips -Z 1024 {} \;

Find выполнит поиск файлов (-type f) с расширением png (-name '*.png') внутри каталога 'images/path' и выполнит команду в параметре, заменив "{}" на имя файла, команду необходимо закончить "\;".

решение2

Мне удалось изменить небольшой скрипт bash, который у меня заработал

#!/bin/bash

find "foldername" -type f | \
while read file ; do
    echo "processing ${file}"
    sips -Z 2000 ${file}
done

Связанный контент