Problem: eine Software vertauscht Metadaten in jpgs. Vorschau, Stichworte etc. sind alle vom Nachbarbild.
Besonders nervig bei der Vorschau, denn die sieht mal (kurz) je nach Betriebssystem/Software (kurz: Lightroom, immer: Windows).
Vorschau löschen in allen jpg im akt. Verzeichnis:
jhead -dt *.jpg
Oder:
exiftool -ifd1:all= -ext jpg .
gleich neu erstellen:
Schritt 1: Thumbnail mit ImageMagick erzeugen
Zuerst wird für jede Datei ein separates Vorschaubild erstellt. Der folgende Befehl erzeugt für jedes *.jpg eine Datei mit dem Präfix thumb_.
for f in *.jpg; do magick "$f" -thumbnail 160x160 -quality 80 "thumb_$f"; done
Dieser Befehl erstellt eine 160×160 Pixel große Vorschau mit guter Qualität (80).
Schritt 2: Thumbnail mit exiftool einbetten
Anschließend wird das neu erstellte Vorschaubild in die ursprüngliche JPEG-Datei eingefügt. exiftool überschreibt dabei das alte, fehlerhafte Thumbnail.
for f in *.jpg; do exiftool "-ThumbnailImage<=thumb_$f" "$f"; done
Dieser Befehl ersetzt das eingebettete Thumbnail in $f durch den Inhalt der Datei thumb_$f.
Schritt 3: Temporäre Dateien löschen
Zum Schluss werden die temporären Vorschaubilder wieder entfernt.
rm thumb_*.jpg
jhead ist ungeeignet, einzelne Metadaten zu löschen (alle: jhead -purejpg *.jpg entfernt alle nicht benötigten JPEG-Abschnitte und damit sämtliche Metadaten. Das ist die radikalste Lösung. gesamten IPTC-Block: jhead -di *.jpg. gesamten XMP-Block: jhead -dx *.jpg)
besser exiftools:
Stichwörter löschen:
exiftool -keywords= -subject= -hierarchicalsubject= -ext jpg .
Alle Metadaten löschen:
exiftool -all= -ext jpg .
(exiftools installieren: sudo apt install libimage-exiftool-perl )
exiftool -r -ext jpg -ifd1:all= -keywords= -subject= -hierarchicalsubject= -overwrite_original .
Auch jpegs:
exiftool -r -ext jpg -ext jpeg -ifd1:all= -keywords= -subject= -hierarchicalsubject= .
Ohne Backup-Dateien
Standardmäßig legt exiftool vor jeder Änderung eine Sicherungskopie mit der Endung _original an. Wenn du das nicht möchtest, ergänze -overwrite_original:
exiftool -overwrite_original -r -ext jpg -ifd1:all= -keywords= -subject= -hierarchicalsubject= .