Puoi usare il terminale per farlo. Il seguente comando dovrebbe funzionare:
find /path/to/the/folder \
-name "*.jpg" \
-exec bash -c "sips -g pixelHeight -g pixelWidth {} | grep -E ' [12]?[0-9]{0,2}$' >/dev/null" \;\
-print
Questo comando troverà tutti i file JPEG sotto /path/to/the/folder
che hanno una larghezza o un'altezza compresa tra 1 e 299 pixel.
Sostituisci /path/to/the/folder
con il percorso effettivo della tua cartella.
Puoi cambiare "*.jpg"
in "*.gif"
per trovare invece i file GIF.
Puoi cambiare [12]?[0-9]{0,2}
per cambiare la dimensione delle immagini che desideri localizzare. Ad esempio, per trovare immagini più piccole di 500 pixel, usa [1234]?[0-9]{0,2}
Se vuoi controllare quali immagini trova questo comando, usa:
find /path/to/the/folder \
-name "*.jpg" \
-exec bash -c "sips -g pixelHeight -g pixelWidth {} | grep -E ' [12]?[0-9]{0,2}$' >/dev/null" \; \
-exec mv {} /path/to/some/other/folder \;
Sostituisci path/to/some/other/folder
con la cartella in cui vuoi spostare i file, e quel comando sposterà i file che trova lì.
Il modo in cui funziona è il seguente:
Il comando sips
è il sistema di elaborazione delle immagini per script . Il comando terminale sips -g pixelHeight -g pixelWidth some.jpg
stamperà la larghezza e l'altezza del file JPEG.
Il comando find
, come ci si potrebbe aspettare, trova i file. -exec
passato a find dice find
per eseguire il comando specificato e restituisce solo i file per i quali il comando restituisce un risultato positivo.
Il comando bash -c "sips -g pixelHeight -g pixelWidth {} | grep -E ' [12]?[0-9]{0,2}$'
richiama una shell, esegue sips
per ottenere la dimensione dell'immagine, quindi esegue grep
, che ricerca il testo, chiedendo grep
per cercare un 1
o un 2
seguito da zero e due cifre (% da% di% a% di% di co_de). Questa è una espressione regolare e corrisponde ai numeri (stringhe)% da0
a 9