¿Cómo rotar todas las imágenes 90 grados en un directorio y todos los subdirectorios (usando mogrify)?

¿Cómo rotar todas las imágenes 90 grados en un directorio y todos los subdirectorios (usando mogrify)?

Estoy intentando hacer lo que indica el título de mi pregunta. Aquí está mi mejor intento hasta ahora:

find . -name '*.jpeg' -exec mogrify -rotate 90 '*.jpeg' {} +

Esto parece rotar las imágenes en el directorio y subdirectorios actuales 90 grados en el sentido de las agujas del reloj (ponga un signo negativo delante de 90 y lo hará en el sentido contrario a las agujas del reloj), pero aparece este error:

mogrify-im6.q16: unable to open image `*.jpeg': No such file or directory @ error/blob.c/OpenBlob/2874.

No estoy seguro de si esto importa, pero ciertamente no es tranquilizador. Soy consciente de que enumerar todos .jpeglos correos electrónicos dentro de un directorio y subdirectorios es:

find . -name '*.jpeg'

y la sintaxis básica de execes:

-exec command {} +

entonces lo anterior aparentemente no es del todo correcto, ¿alguien puede decirme qué estoy haciendo mal? Estoy usando Ubuntu 20.04 si eso importa.

Respuesta1

Lo acabo de descubrir, el truco es que después del primero '.jpeg'los archivos ya se encontraron, por lo que no es necesario proporcionar el segundo '.jpeg'.

Para referencia:

Para rotar jpegimágenes de forma recursiva 90 grados en el sentido de las agujas del reloj:

find . -name '*.jpeg' -exec mogrify -rotate 90 {} +

Para rotar jpegimágenes de forma recursiva 90 grados en sentido antihorario:

find . -name '*.jpeg' -exec mogrify -rotate -90 {} +

información relacionada