Ok, tengo un directorio (por ejemplo, llamado '/ photos') en el que hay diferentes directorios (como '/ photos/wedding', '/ photos/birthday', '/ photos/graduation', etc. ..) que tienen archivos .jpg en ellos. Desafortunadamente, algunos de los archivos jpeg están rotos. Necesito encontrar la manera de determinar qué archivos están rotos. Descubrí que hay una herramienta llamada imagemagic, que puede ayudar mucho. Si lo usa así:¿Cómo puedo verificar si todos los archivos dentro de los directorios son jpegs válidos (Linux, se necesita script sh)?
identify -format '%f' whatever.jpg
se imprime el nombre del archivo sólo si el archivo es válido, si no es que se imprime algo así como "identificar: No es un archivo JPEG: comienza con 0x69 0x75 'lo que sea. jpg '@ jpeg.c/EmitMessage/232. ". Así que la solución correcta debería ser encontrar todos los archivos que terminan en ".jpg", aplicarles "identificar", y si el resultado es solo el nombre del archivo - no haga nada, y si el resultado es diferente del nombre del archivo - luego guarde el nombre del archivo en alguna parte (como en un archivo "errors.txt").
¿Alguna idea de cómo puedo hacer eso?
Relacionado: [¿Hay alguna herramienta para verificar la integridad del archivo de una serie de imágenes?] (Https://photo.stackexchange.com/q/ 46919) – sampablokuper