Ejecutar un lote con imagemagick
-
06-07-2019 - |
Pregunta
Necesito guardar un montón (varios miles) de imágenes con imagemagick.
Soy totalmente nuevo en él, y su documentación parece totalmente opaca y totalmente laberíntica. ¿Dónde está la guía de inicio rápido?
Mirándolo, creo que quiero usar mogrify
.
así que hice un CD en mi directorio de archivos de programa donde instalé imagemagick.
Ejecuto mogrify -format png * .png
como veo en varios ejemplos.
Dice:
mogrify: unable to open image `fgimg\': No such file or directory @ blob.c/OpenB lob/2489. mogrify: unable to open file `fgimg\' @ png.c/ReadPNGImage/2865.
¿Cómo le indico que se ejecute en todas las imágenes del subdirectorio \ fgimg?
¡Muchas gracias!
Solución
El problema aquí es que estás llegando al límite de cuánto puedes poner en una línea de comando. Debe dividirlo en trozos que quepan. Esto debería funcionar mejor:
find -name '*.png' -print0 | xargs -0 -r mogrify -format png
Las -print0
y -0
se usan para manejar espacios en los nombres de archivo, y -r
significa que no ejecute mogrify si hay nada que hacer.