無効な拡張子を想定してファイル形式を見つける

無効な拡張子を想定してファイル形式を見つける

保存された画像アーカイブがあります。時々私がファイルをインポートするウェブサイトは、拡張子を同じに保ちながらファイル形式を再指定します。最も一般的には、PNG画像をJPGにしますが、まだ名前を「.png」として指定します。これが発生したことを検出して自動的に修正する方法はありますか?

Windowsではこれを達成するためにIrfanViewを使用しますが、これにはWineラッパーが必要です。

答え1

file次のコマンドを使用できます。

$ 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

ファイルに対していくつかのテストを実行して、fileそのタイプを確認します。おそらく最も重要なテストは、マジック番号(ファイルヘッダーの文字列)を事前定義されたリストと比較することです。

答え2

imagemagicks認識コマンドを試してみてください。http://www.imagemagick.org/script/identify.php

例:

$ identify rose.jpg
rose.jpg JPEG 640x480 sRGB 87kb 0.050u 0:01

関連情報