Aquí hay un ejemplo bash
script que puede lograr el objetivo de forma nativa, sin necesidad de instalar nada.
#!/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
Todo lo que necesitas hacer es establecer la variable targetDir
en el punto de inicio donde quieres que se vea el comando find
. El valor predeterminado es la carpeta de imágenes dentro de su carpeta de inicio.
Nota: En el ejemplo script , el comando echo
debe eliminarse delante de
rm "$filename"
in ordene que se eliminen realmente los archivos y está ahí para que pueda probar primero el resultado del script en cuanto a qué archivos se eliminarán. Por supuesto, puede elegir eliminarlo sin probar y simplemente ir a por ello, si está seguro de que desea eliminar cualquier archivo .jpg, .png, .bmp o .jpeg con dimensiones de 270 píxeles de alto por 360 píxeles de ancho dentro de el targetDir
.
También tenga en cuenta que, dependiendo del número total de archivos de las extensiones de archivo de destino, la ejecución de este script puede tardar un tiempo en completarse. En mi sistema, encontró ~ 1000 archivos para eliminar de 27500 archivos en mi carpeta de Imágenes y tardó al menos 5 a 10 minutos en completarse.
Dicho esto, ejecuté esta secuencia de comandos, como está escrito, y los únicos archivos que no sean el archivo de prueba que creé con las dimensiones de destino, todos los demás archivos se encontraron en una ubicación específica dentro de mi paquete de iPhoto Library en la carpeta de Miniaturas. Entonces, ¿no sería más fácil entrar en el paquete y eliminar los contenidos en el Finder? Es decir, si realmente son solo esas miniaturas de las que quieres deshacerte.
Si no sabe cómo usar el script , haga lo siguiente en la Terminal:
touch delete270x360images
open delete270x360images
Copie y pegue el código del script desde arriba en el documento delete270x360images
abierto, modifíquelo según sea necesario / deseado y luego guarde y cierre.
En la Terminal, hazlo ejecutable:
chmod u+x delete270x360images
Ahora, para usarlo en la Terminal, escriba lo siguiente y luego presione intro.
./delete270x360images
Espera a que se complete.