Puede usar identify
desde imagemagick
, y puede usar el siguiente comando:
find . -iname "*.jpg" -type f -exec identify -format '%w %h %i' '{}' \; | awk '$1<300 || $2<300'
el uso de -exec <command> '{}' \;
asegura que su nombre de archivo pueda tener espacios en ellos, alternativamente puede usar
find . -iname "*.jpg" -type f | xargs -I{} identify -format '%w %h %i' {} | awk '$1<300 || $2<300'
donde -I{}
se encarga de lo mismo.
Lo que me gusta identify
es que puedes especificar el formato de salida; en este caso, '%w %h %i'
que proporciona el ancho, la altura y la ruta completa de la imagen. Luego, la awk
expresión solo mantiene aquellas líneas para las cuales la imagen es más pequeña que el tamaño deseado.
Ejemplo de la salida:
64 64 ./thumbsup.jpg
100 150 ./photomin.jpg
Editar: si solo desea los nombres de archivo (por rm
ejemplo, para canalizar ), simplemente cambie $line
la awk
instrucción a $3
, solo imprimirá la tercera columna.
| awk '$1<300||$2<300'
o| awk '$1<300||$2<300{print $3}'
(cuando solo se necesita la tercera columna).'%w %h %i\n'
) para que funcione para mí.| xargs -I {} mv {} /destination/directory/
Creo que la respuesta aceptada es muy buena, pero quería agregar otra posible solución ...
Aunque uso las
ImageMagick
herramientas con mayor frecuencia ahora mismo, soynetpbm
un viejo amigo para procesar imágenes. Puede ver el tamaño de cualquier formato de imagen con el comando:Esto generará una salida similar a:
Para responder a la pregunta "¿qué sigue después de la tubería?", Uso
while read
más seguido de lo que usoxargs
porque es más flexible. Minetpbm
respuesta a la pregunta se ve así:fuente
Esto funcionó para mí:
Esta es la muestra de salida:
./2520161636481000.png 75x75
./2620160819191100.png 75x75
./2420181545550700.png 75x75
fuente
El
identify
comando delimagemagick
paquete hace lo que quieres:Una vez más, deberá utilizar
grep
para ordenar el tamaño de la imagen.Sin embargo, sospecho que a menos que tenga un rango muy amplio de tamaños de imagen, sería más fácil usarlo
find
para eliminar archivos JPEG por debajo de un tamaño determinado:(Vale la pena ejecutarlo sin
-delete
comprobar primero que no encuentra las cosas que desea conservar; de lo contrario, no le preguntará antes de eliminarlo).fuente