Terminal Mac: recorra subdirectorios y optimice todas las imágenes

Terminal Mac: recorra subdirectorios y optimice todas las imágenes

Tengo una carpeta que contiene muchas subcarpetas llenas de imágenes. Ver imagen adjunta por ejemplo.

alternativo

Básicamente, quiero recorrerlos todos y reducir el tamaño de las imágenes para que ninguna tenga más de 1024 píxeles. Son todos jpegs.

Soy consciente de los comandos SIPS, es decir

sips -Z 1024 *.png

Sin embargo, eso sólo funciona si todas las imágenes están en el directorio actual.

¿Cómo lo configuro para recorrer todos los subdirectorios?

Respuesta1

Puedes ejecutarlo con buscar:find images/path -type f -name '*.png' -exec sips -Z 1024 {} \;

Buscar buscará archivos (-tipo f), con extensión png (-nombre '*.png') dentro del directorio 'imágenes/ruta' y ejecutará el comando en el parámetro, reemplazando "{}" con el nombre del archivo, debe finalizar el comando con "\;".

Respuesta2

Logré cambiar un pequeño script bash que funcionó para mí.

#!/bin/bash

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

información relacionada