Terminal Mac: percorra subdiretórios e otimize todas as imagens

Terminal Mac: percorra subdiretórios e otimize todas as imagens

Tenho uma pasta contendo muitas subpastas cheias de imagens. Veja a imagem anexa, por exemplo.

alternativo

Basicamente, quero percorrer todos eles e reduzir o tamanho das imagens para que nenhuma tenha mais de 1024 pixels. Eles são todos JPEG.

Estou ciente dos comandos SIPS, ou seja

sips -Z 1024 *.png

No entanto, isso só funciona se todas as imagens estiverem no diretório atual.

Como faço para configurá-lo para percorrer todos os subdiretórios?

Responder1

Você pode executá-lo com find:find images/path -type f -name '*.png' -exec sips -Z 1024 {} \;

Find irá procurar por arquivos (-type f), com extensão png (-name '*.png') dentro do diretório 'images/path' e executar o comando no parâmetro, substituindo "{}" pelo nome do arquivo, você precisa finalizar o comando com "\;".

Responder2

Consegui alterar um pequeno script bash que funcionou para mim

#!/bin/bash

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

informação relacionada