Ecco un esempio di bash
script che può raggiungere l'obiettivo in modo nativo, senza bisogno di installare nulla.
#!/bin/bash
targetDir="$HOME/Pictures"
find "$targetDir" -iname '*.jpg' -o -iname '*.png' -o -iname '*.bmp' -o -iname '*.jpeg' 2>/dev/null | \
while read -r filename; do
hw="$(sips -g pixelHeight -g pixelWidth "$filename" 2>/dev/null)"
h="$(awk '/pixelHeight/{print $2}'<<<"$hw")"
w="$(awk '/pixelWidth/{print $2}'<<<"$hw")"
if [[ $h -eq 270 ]] && [[ $w -eq 360 ]]; then
echo rm "$filename"
fi
done
Tutto ciò che devi fare è impostare la targetDir
variabile sul punto di partenza in cui vuoi che il find
comando guardi. L'impostazione predefinita è la cartella Immagini all'interno della cartella Home.
Nota: nell'esempio script il comando echo
deve essere rimosso da davanti a
rm "$filename"
in ordina che i file siano effettivamente cancellati ed è lì così puoi prima testare l'output dello script su quali file saranno cancellati. Ovviamente puoi scegliere di rimuoverlo senza test e basta provare, se sei sicuro di voler eliminare qualsiasi file .jpg, .png, .bmp o .jpeg con dimensioni di 270 pixel di altezza per 360 pixel di larghezza all'interno il targetDir
.
Inoltre, a seconda del numero totale di file delle estensioni di file di destinazione, l'esecuzione di questo script può richiedere un po 'di tempo per essere completata. Sul mio sistema sono stati trovati ~ 1000 file da eliminare su 27500 file nella cartella Immagini e sono stati necessari almeno da 5 a 10 minuti.
Detto questo, ho eseguito questo script, come è scritto, e gli unici file diversi dal file di test che ho creato con le dimensioni di destinazione, tutti gli altri file trovati in una posizione specifica all'interno del mio pacchetto iPhoto Library nella cartella Thumbnails. Quindi, non sarebbe più semplice andare nel bundle ed eliminare i contenuti in Finder? Cioè, se sono davvero solo quelle Miniature di cui vuoi liberarti!
Se non sai come usare lo script , fai quanto segue in Terminale:
touch delete270x360images
open delete270x360images
Copia e incolla il codice dello script dall'alto nel documento delete270x360images
aperto, modifica come necessario / voluto e poi salva e chiudi.
In Terminale, rendilo eseguibile:
chmod u+x delete270x360images
Ora per usarlo nel terminale, digita quanto segue e poi premi invio.
./delete270x360images
Attendi il completamento.