www.bimminger.at

Tipps / Linux

Linux

Umbenennen von Dateien unter Linux


Um Dateien in Linux umzubenenen verwendet man (bei einer Datei) einfach:

mv dateiname.ext dateinameNeu.ext

Wenn man jedoch mehrere Dateien umbenennen will, muss man zu einem kleinen Hilfsmittel greifen. mv kann nur mit einer Destination arbeiten. Entweder man versucht das Umbenennen mit Schleifen oder verwendet spezielle Programme.

Umbenennen mit Rename


Je nachdem welches Programmversion von Rename zur Verfügung steht kann der Syntax so:

rename DSC 2002_10_14- *.jpg

oder auch so aussehen:

rename "s/^DSC/2002_10_14-/" *.jpg

Beide Zeilen erledigen den gleichen Job. Die zweiter Version bietet die volle Mächtigkeit von Regulären Ausdrücken.

Umbenennen mit einer Programmschleife


Mit einer FOR-Schleife könnte man den gleichen Umbenennungsvorgang auch ohne zusätzliche Programme folgendermaßen schaffen:

for i in DSC*; do mv $i 2002_10_14-${i#DSC}; done

Umbenennen unter Linux mit FOR-Schleifen

Ohne Zusatzprogramme geht es auch. Programmschleifen mit mv sind hier sehr nützlich. Hier gibt es etwas ausführlichere Tipps.


Umbenennen unter Windows

Querverweis auf einen Tipp zum Umbenennen unter Windows.



Umbenennen mit dem Erstellungszeitraum und Beibehaltung des Dateinamens

Mit dem Exiftool lassen sich Metadaten aus dem EXIF-Container von JPEG Dateien auslesen. Ohne Schleifen geht das auch - hier gibts ein Beispiel.




Um einen Diskussionsbeitrag zu posten müssen Sie eingeloggt sein.

Datumformat ändern

Um z.B. ein fast unleserliches Datum von yyyyMMddHHmmss in das für Menschen besser zu erfassende yyyy-MM-dd_HH.mm.ss umzubenennen, kann man folgende Schleife anwenden:

for i in *.jpg; do b=`echo $i | sed "s/\([[:digit:]]\{4\}\)\([[:digit:]]\{2\}\)\([[:digit:]]\{2\}\)\([[:digit:]]\{2\}\)\([[:digit:]]\{2\}\)\([[:digit:]]\{2\}\)/\1-\2-\3_\4.\5.\6/"`; mv "$i" "$b";done

Falls dem Datum noch ein Text vorangeht (z.B. PIC20120215101034.jpg), kann man verwenden:

for i in *.jpg; do b=`echo $i | sed "s/\([[:alpha:]]*\)\([[:digit:]]\{4\}\)\([[:digit:]]\{2\}\)\([[:digit:]]\{2\}\)\([[:digit:]]\{2\}\)\([[:digit:]]\{2\}\)\([[:digit:]]\{2\}\)/\2-\3-\4_\5.\6.\7-\1/"`; mv "$i" "$b";done

Das hat bei mir funktioniert, meine Android-Kamera macht nämlich so unselige Dateinamen, die ich auf diese Weise automatisch umbenenne.
Gruß, franc

PS.: Die Schriftgröße in diesem Kommentar-Formular ist übrigens fast unleserlich klein, außerdem wird ein Kommentar wie ein Link formatiert, nämlich unterstrichen und ändert die Farbe beim hover.

von Walter
gepostet am: 15.02.2012
letzte Änderung am: 15.02.2012

antworten

AW: Datumformat ändern

Danke, die beiden Kritikpunkte habe ich mir angesehen und überarbeitet.

Logo des Users

von andi
gepostet am: 17.02.2012
letzte Änderung am: 17.02.2012

antworten


Um einen Diskussionsbeitrag zu posten müssen Sie eingeloggt sein.

Suche in Kommentaren nach: Nur in diesem Beitrag