QuarkStar

QuarkStar

… bringt laufend Tipps zum produktiveren Arbeiten mit dem Mac, iOS
und dem Web


Mac Shell Script: Mehrere Dateien umbenennen

Heute mal etwas Futter für die Terminal-Geeks unter den Mac Usern. Es gibt zahlreiche Programme mit denen man mehrere Dateien gleichzeitig umbennen kann, aber eigentlich geht das ganze viel schneller und ohne zusätzliche Software auf der Kommandozeile im Terminal.

Alles was wir dazu auf der Bash brauchen ist eine for-Schleife:

for var in ;do $var; done

Jetzt kann man einfach ersetzen. Mit * für alle Dateien oder mit *.jpg für alle Bilder etc.
kann man dann durch ein beliiebiges Shell Kommando ersetzen, z.B. mv für move.

Jetzt brauchen wir nur noch ein Kommando um einen bestimmten Text in den Dateinamen zu ersetzen:

${var/alt/neu}

Nehmen wir an ich habe eine Menge Bilder in einem Verzeichnis, die alle nach folgendem Muster benannt sind: Bild0001.jpg; Bild0002.jpg; … und ich möchte “Bild” ersetzen durch “Urlaub-Italien-2007-”, dann kann ich das ganz einfach mit folgendem Kommando:

for d in Bild*.jpg; do mv $d ${d/Bild/Urlaub-Italien-2007-};done

So schnell kann man massenhaft Dateien umbenennen.

War dieser Artikel hilfreich?
rss Icon RSS

3 Kommentare – Kommentieren oder Pingen

  1. Martin

    Kann man auch reguläre Ausdrücke anstelle von “Bild” einsetzen?

    Wenn die Bilder noch keine hochzählende Nummer im Dateinamen haben, kann man das dann mit einer Schleife erzeugen?

    mfG

  2. Christoph

    @Martin

    Wenn man reguläre Ausdrücke verwenden möchte, verwendet man am besten die Befehle sed oder rename

    Für eine hochzählende Nummer reicht ein Counter im Script,
    also z.B.:

    i=0;for d in Bild*.jpg; do mv $d ${d/Bild/Bild_$i};let i++;done

    Wenn man diese Kommandos öfter benötigt kann man mal einen Blick auf Name Mangler werfen. Da kann man reguläre Ausdrücke verwenden, Counter usw.
    siehe dazu:
    http://www.quarkstar.at/index.php/2008/03/17/dateien-umbenennen-mit-dem-mac-name-mangler/

“Mac Shell Script: Mehrere Dateien umbenennen”