Für das Umbenennen und Verschieben einer einzelnen Datei steht das Shell-Kommando mv bereit. Es benennt die Datei alter-name in neuer-name um. Befinden sich Original und Kopie im gleichen Dateisystem, wird nur der entsprechende Eintrag des Dateinamens geändert.
mv alter_name neuer_name
Sind mehrere Dateien umzubenennen, kommen in der Regel mehrere aufeinanderfolgende mv-Kommandos zum Einsatz. Das kann etwas mühsam sein, wenn es viele Dateien sind und diese einen ähnlichen Namen tragen. Mit einem Einzeiler auf der Kommandozeile läßt sich der Schreibaufwand schon mal ganz deutlich verringern:
for datei in *.txt; do mv $datei `basename $datei .txt`.text; done
In einer for-Schleife wird jede Datei, die auf .txt endet, einzeln umbenannt. In jedem Schleifendurchlauf wird die Erweiterung .txt abgeschnitten und durch .text ersetzt.
Noch kürzer wird es mit dem Werkzeug mmv. mmv steht für die Abkürzung multiple move — auf deutsch übersetzbar mit multiples oder mehrfaches Bewegen. Obige for-Schleife vereinfacht sich mit mmv wie folgt:
mmv "*.txt" "#1.text"
Der "*" wirkt als Zeichen eines Musters und entspricht hier jedem Dateinamen bis zum ".txt". Der Platzhalter kann später wieder referenziert und verwendet werden, in obigen Aufruf über "#1". Um zu sehen, welche Dateien von mmv verarbeitet werden, hilft die Option -v für eine ausführliche Darstellung.
$ mmv -v "*.pdf" "#1.txt"
daten1.pdf -> daten1.txt : done
daten2.pdf -> daten2.txt : done
daten3.pdf -> daten3.txt : done
$
Weitere Informationen und Links:
mmv-Paket bei Debian
Heike Jurzik: Auf einen Streich, in EasyLinux 02/2005



Kommentare
Kommentare deaktiviert.