Lote ejecutar mogrify incluyendo subdirectorios


13

El comando mogrify -format jpg *.NEFcuando se ejecuta en un directorio convierte todos los archivos * .NEF a JPEG. Lo que quiero hacer es poder ejecutar mogrify en archivos * .NEF dentro de subdirectorios también usando un comando. Estoy tratando de ejecutar algo como:

find . -type d exec mogrify -format jpg *.NEF \;

y por supuesto no funciona ¿Alguien puede sugerir el comando adecuado?

Respuestas:


16

Parece que mogrify de ImageMagick 6.9.9.19 escribe el resultado en el mismo directorio que el archivo de entrada, por lo que puede usar este comando:

find . -name '*.NEF' -exec mogrify -format jpg {} +

Explicación:

  • -name '*.NEF'encuentra todos los archivos * .NEF ; utilícelo -inamesi desea que la búsqueda no distinga entre mayúsculas y minúsculas.

  • -exec ... {} +ejecuta el comando en todos los archivos coincidentes. Una alternativa sería combinar find con xargs .


Solo un consejo, es posible que desee ampliar esto un poco, ya que se marcó como de baja calidad. Considere explicar lo que hace el comando en detalle.

Trabajando perfecto. Lo uso para convertir svg a png con: "find. -Name '* .svg' -exec mogrify -format jpg {} +"
Indacochea Wachín
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.