Voici un exemple bash
script qui peut atteindre l'objectif nativement, sans avoir besoin d'installer quoi que ce soit.
#!/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
Tout ce que vous devez faire, c'est définir le targetDir
variable au point de départ de l'endroit où vous voulez que le find
commande à regarder. La valeur par défaut est le dossier Images de votre dossier Accueil.
Note : Dans l'exemple script le site echo
commande doit être supprimé de l'avant de
rm "$filename"
afin que le fichiers pour être réellement supprimée et est là pour que vous puissiez d'abord tester la sortie de la fonction script quant à ce que fichiers sera supprimé. Vous pouvez bien sûr choisir de le supprimer sans faire de test et vous lancer, si vous êtes sûr de vouloir supprimer tout fichier .jpg, .png, .bmp ou .jpeg ayant des dimensions de 270 pixels de hauteur sur 360 pixels de largeur dans l'espace de stockage de l'ordinateur. targetDir
.
Notez également qu'en fonction du nombre total de fichiers des extensions de fichiers cibles, l'exécution de l'option script peut prendre un certain temps à se réaliser. Sur mon système, il a trouvé ~1000 fichiers à supprimer sur les 27500 fichiers de mon dossier Pictures et a pris au moins 5 à 10 minutes pour terminer.
Cela dit, j'ai exécuté ce script, tel qu'il est écrit, et les seuls fichiers autres que le fichier de test que j'ai créé avec les dimensions cibles, tous les autres fichiers trouvés se trouvaient à un emplacement spécifique dans mon paquet de bibliothèque iPhoto, dans le dossier Thumbnails. Donc, ne serait-il pas plus simple d'aller dans le paquet et de supprimer le contenu dans le Finder ? Enfin, s'il n'y a que les vignettes dont vous voulez vous débarrasser !
Si vous ne savez pas comment utiliser la fonction script faites ce qui suit dans le Terminal :
touch delete270x360images
open delete270x360images
Copiez et collez le script code d'en haut dans l'ouvert delete270x360images
modifiez-le si nécessaire, puis enregistrez-le et fermez-le.
Dans le Terminal, rendez-le exécutable :
chmod u+x delete270x360images
Maintenant, pour l'utiliser dans le Terminal, tapez ce qui suit et appuyez sur Entrée.
./delete270x360images
Attendez qu'il soit terminé.