Encontrar un tipo de archivo suponiendo una extensión incorrecta

9

Tengo un archivo de imágenes que mantengo actualizado. A veces, los sitios en los que los extraigo vuelven a formatear el archivo manteniendo la extensión igual, con mayor frecuencia haciendo imágenes PNG en JPG que todavía se llaman ".png". ¿Hay alguna manera de descubrir cuándo sucedió esto y solucionarlo automáticamente?

Cuando en Windows, usé IrfanView para esto, pero eso necesita un contenedor Wine.

Escula
fuente
Puede utilizar la herramienta gratuita en línea Falstaff
Shaul Zevin

Respuestas:

17

Puedes usar el filecomando:

$ file file.png
file.png: PNG image data, 734 x 73, 8-bit/color RGB, non-interlaced

$ mv file.png file.txt
$ file file.txt
file.txt: PNG image data, 734 x 73, 8-bit/color RGB, non-interlaced

La filehace algunas pruebas en el archivo para determinar su tipo. Probablemente la prueba más importante es comparar un número mágico (cadena en un encabezado de archivo) con una lista predefinida.

jimmij
fuente
Exactamente lo que estaba buscando. ¡Gracias!
Aescula
1
Al usarlo, filetenga en cuenta que puede dar resultados diferentes en los distintos Unix. unix.stackexchange.com/questions/151008/…
slm