Am Donnerstag, 20. Januar 2005 20:35 schrieb Thomas Götz:
kennt denn jemand ein Programm womit man automatisch die Änderungszeit einer (jpg-)Datei an die enthaltene Exif-Information anpassen kann? Oder hat vielleicht schonmal jemand ein Skript dafür gebastelt?
Hach, wozu immer gleich ein Script basteln ;-) Eine Zeile: touch -m -t `exif -t 0x132 p9180074.jpg | awk ' /Value/ { print $2, $3 } ' | sed 's/:\([^:]*\)$/.\1/;s/://g;s/ //g'` p9180074.jpg Wenn Du das innerhalb einer Schleife machen willst (weil es eben nicht nur eine Datei sein soll), dann z. B. so (alles nachfolgende ungetestet): find . -name '*.[Jj][Pp][Gg]' -print | while read f; do touch -m -t `exif -t 0x132 "$f" | \ awk ' /Value/ { print $2, $3 } ' | \ sed 's/:\([^:]*\)$/.\1/;s/://g;s/ //g'` "$f" done Erwischt rekursiv alle .jpg, .Jpg, .JPG ... unterhalb des aktuellen Verzeichnis und bearbeitet sie. Nicht abgefangen ist der Fall, wenn das entsprechende exif-Tag nicht gesetzt ist. Das könnte dann so aussehen: find . -name '*.[Jj][Pp][Gg]' -print | while read f; do extag="`exif -t 0x132 \"$f\" 2>/dev/null | \ awk ' /Value/ { print $2, $3 } ' | \ sed 's/:\([^:]*\)$/.\1/;s/://g;s/ //g'`" test -n "$extag" && touch -m -t $extag "$f" done Nähere Infos gibts unter: man exif man awk man sed man touch Jan P.S.: Ich weiß, man kann den awk und den sed zusammenfassen, aber dazu hatte ich gerade keine Lust ;-) -- Linux-Quickies: http://www.jan-trippler.de PingoS: http://www.pingos.org