Bilder umbenennen in Datum aus Exif
Da ich ja momentan die Schweden-Bilder sortiere und 3 Kameras synchronisieren muss, gehe ich wie folgt vor: Erst mal wird das Exif-Datum einheitlich auf GPS-Zeit korrigiert und danach einheitlich umbenannt.
Ich habe mir das so vorgestellt:
Vorher: DSC03781.JPG
Hinterher: 2008-08-12_13-25-37.JPG
Ganz einfach geht das (mal wieder) unter Linux mit dem Programm jhead:
jhead -n%Y-%m-%d_%H-%M-%S *.JPG
Das war es dann auch schon
Trackbacks
bernd.distler.ws am : Bilder nach EXIF-Zeit umbenennen (Mac) | Bernds Rappelkiste
Vorschau anzeigen
Nochmal etwas für mein Notizbuch: Vor etwas über 5 Jahren hatte ich ein Beispiel gebracht, wie man mit Hilfe von jhead Bilddateien so umbenennen kann, dass die Aufnahmezeit aus den EXIF -Informatione[..]
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Hans Meyer am :
Hallo,
die Erklärung mit JHead ist sehr gut!
(http://blog.bernd-distler.net/2008/08/17/bilder-umbenennen-in-datum-aus-exif)
Was mir nur auffällt, wie bekommt man Unterordner gleich mit umbenannt? (unter Linux)
z.B. /home/…/pictures/Ordner1
/home/…/pictures/Ordner2
/home/…/pictures/Ordner3
…
/home/…/pictures/Ordner50
momentan müsste ich in jeden einzelnen Unterordner Ordner von 1-50 den Befehl jhead ausführen. Ist ein wenig schwierig! Wie könnte man das lösen? Danke!
Bernd am :
Gute Frage, das geht dann doch etwas tiefer in die bash, als ich mich je getraut hab :angel:
Hans Meyer am :
Ah Danke für die sehr schnelle Antwort.
Da bist Du an der Stelle wo ich auch bin. Mit Bash-Skripting hab ich “noch” nix zu tun gehabt. Ich werde mich da mal auf die Suche machen, wie man das am besten lösen kann.
Ich könnte jedes einzelne Unterverzeichnis durcharbeiten, ist aber nicht zweckmäßig. Danach führt man wahrscheinlich den Befehl gleich aus, wenn man neue Bilder gemacht hat. Bleibt die Frage, ob man das immer gleich macht. Daher finde ich ne Skriptlösung eleganter.
Wenn ich was weiß, poste ich es auch hier. Da werden viele einen Nutzen von haben.
Bernd am :
Frag doch einfach mal im Forum von ubuntuusers.de nach, die kennen sich da teilweise echt super aus :smile:
Hans Meyer am :
so ich hab ne Variante für ein Shellscript zusammengebastelt:
#!/bin/bash
find $1 -iname \*.JPG -exec jhead -n%Y-%m-%d_%H-%M-%S {} \;
echo “$1”
Das macht genau das was ich brauch. Wenn man das als picdate.sh z.B. nutzt dann einfach sh picdate.sh ausführen -> im akutuellen Verzeichnis und deren Unterverzeichnissen werden die Bilder von jhead umbenannt!
wenn man beim Skriptaufruf einen Pfad angibt, dann wird es in dem Pfad und deren Unterverzeichnissen erledigt!
Bsp. sh picdate.sh /home/Benutzer/pictures
echo $1 gibt den Wert aus, der dem Skript bei Aufruf an erster Stelle übergeben wurde. Kann man weglassen Hab ich nur für Testzwecke zum Schluss immer mit ausgegeben, damit ich weiß wo er da war
PS: Hab mir Ratschläge bei linuxforen.de/forums eingeholt
Bernd am :
Vielen Dank für die Rückmeldung!
Du könntest mit
chmod +x picdate.sh
die Datei ausführbar machen, dann kannst du sie direkt über ./picdate.sh aufrufen :smile:
Alternativ könntest du das Script im bin verschieben oder einen Symlink setzen, dann ist es von überall her aufrufbar. und man spart sich vorne noch das ./
Siehe http://wiki.ubuntuusers.de/opt?highlight=opt#Basis
Ich mache es immer so, dass ich in meinem Home einen Ordner bin habe und im /usr/local/bin/ einen Symlink setze.
Manu am :
Warum nimmst Du /home/bernd/bin/ nicht einfach in $PATH mit auf?
Bernd am :
Wie uncool :whistle: