Localizando um tipo de arquivo assumindo extensão incorreta

9

Eu tenho um arquivo de imagens que acompanho. Às vezes, os sites que os retiro reformatam o arquivo, mantendo a extensão a mesma, transformando na maioria das vezes imagens PNG em JPG, ainda denominadas ".png". Existe uma maneira de descobrir quando isso aconteceu e corrigi-lo automaticamente?

No Windows, usei o IrfanView para isso, mas isso precisa de um invólucro do Wine.

Aescula
fonte
Você pode usar a ferramenta online gratuito Falstaff
Shaul Zevin

Respostas:

17

Você pode usar o 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

Ele filefaz alguns testes no arquivo para determinar seu tipo. Provavelmente o teste mais importante é comparar um número mágico (string no cabeçalho de um arquivo) com uma lista predefinida.

jimmij
fonte
Exatamente o que eu estava procurando. Obrigado!
Aescula 28/10
1
Ao usar, filelembre-se de que ele pode gerar resultados diferentes nos vários Unixes. unix.stackexchange.com/questions/151008/…
slm