M Hoeller, Montag, 12. März 2007 21:57:
Ich möchte das Aufnahmedatum + Zeit eines Bildes auslesen und vor den aktuellen Dateinamen setzen. Das sollte mit den exif tools und bash möglich sein. Doch bevor ich anfange rumzufummel (bin halt kein Profi) wollt ich mal fragen ob nicht schon jemand so was gemacht hat und evt. sein skript veröffentlichen mag.
Ich mache das so: === Schnipp # Eine Canon-Kamera nennt die Bilder immer img_1234.jpg # Die Zahl wollen wir uns merken, weil die Knipse mehr als # ein Bild die Sekunde schafft. # $file ist die zu bearbeitende Datei. counter=`echo $file | sed s/img_//` # Jetzt ziehen wir uns Uhrzeit und Datum der Aufnahme aus den # exif-Daten. Dazu muß das Tool exif installiert sein. basename="`exif -t 0x0132 "$file" | grep Value | sed s/\://g | sed s/\ //g | sed s/Value20//g | awk '{printf("%s-%s\n", substr($0,1,6), substr($0,7))}'`" # Neuen Dateinamen generieren... newfilename=$basename-$counter # ...und die Datei umbenennen. Evtl. sollte man noch prüfen, # obs die Zieldatei schon gibt. Kann aber bei mir nicht vorkommen. mv "$file" "$newfilename" === Schnapp Das Ergebnis wäre als Dateinamen für ein jetzt aufgenommenes Foto 070312-222403-1234.jpg Also in den ersten zwei Blöcken Datum und Uhrzeit in sortierbarer Reihenfolge, und am Schluß noch die ursprüngliche Zahl, weil die Sekunden bei über 8 Bildern in der Sekunde nicht gut genug auflösen ;) -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org