Quindi ho una cartella con migliaia di file di immagine, tutti salvati come .jpg
.Rinominare un gruppo di immagini PNG con estensione ".jpg" su ".png"
Il problema è che alcuni di questi file sono in realtà file immagine PNG, quindi non si aprono in molti programmi, a meno che non modifichi manualmente la loro estensione su .png
. Ad esempio, il visualizzatore di immagini di Ubuntu getta questo errore:
"Error interpreting JPEG image file (Not a JPEG file: starts with 0x89 0x50)"
ho già gestiva un hexdump di alcuni di questi file per confermare questo errore e si estrae.
Sto cercando un modo semplice per trovare tutti i file con l'estensione errata tra gli altri file e modificare la loro estensione. Come farei questo con uno script bash per esempio? Finora non ne ho idea. Tutto l'aiuto è apprezzato!
Ciò presuppone che i tentativi 'open' di * analizzare * i dati del file * e * che si basa sull'estensione del file siano corretti. Un semplice 'generico' 'open' avrà sempre successo su un file esistente. Un 'smart' 'open' ignorerà l'estensione del file e userà la [firma magica] del file (http://en.wikipedia.org/wiki/List_of_file_signatures) per determinare il suo tipo e potrebbe quindi avere successo. – usr2564301