Unter Linux können Sie mit dem Befehl mv
nur eine Datei oder ein Verzeichnis umbenennen – beispielsweise:
mv Dateiname.txt Dateiname_2.txt
mv Verzeichnis/ Neues_Verzeichnis
Dies könnten Sie natürlich mit einem längeren Befehl mit for
aufgebaut umgehen, ist aber für nicht-Terminal-Freunde dann wahrscheinlich doch etwas umständlich. Der Befehl mmv ist genau für solche Dinge geschaffen – massenhaft Dateien umbenennen.
Inhaltsverzeichnis
mmv (Multiple move) installieren
Unter auf Debian basierenden Linux-Distributionen installieren Sie mmv ganz einfach über die Paket-Verwaltung, am schnellsten natürlich als root auf dem Terminal:
apt update
apt install mmv
mmv nutzen
Die grundlegende Syntax lautet:
mmv Optionen Quell-Muster Ziel-Muster
Nehmen wir einmal an, ich habe in einem Verzeichnis Bilder, die von einer Kamera, einem Handy aufgenommen wurden, alle haben die typische Bezeichnung „xxxxxxxxxxxxxx.jpeg„, „xxx“ wird natürlich durch die beliebige Bezeichnung ersetzt und ist komplett egal. Ich will, dass jedes Bild der Reihe nach mit „1.jpeg„, „2.jpeg“ und so weiter und so fort umbenannt wird:
mmv "*.jpeg" "#1.jpeg"
Mit *.jpeg
zeige ich der Software, ich will jedes Bild mit der Dateiendung .jpeg umbenennen, egal was davor als Bezeichnung steht – hierfür sorgt der Platzhalter *
. Die Raute #
sorgt dafür, dass mmv die 1 als Erstes nimmt und dann ganz einfach numerisch der Reihe nach weiter so fortgeht.
Jetzt gehen wir etwas weiter und geben ein Muster an – im Beispiel habe ich in einem Verzeichnis folgende Dateibezeichnungen: Datei-oklX.txt Datei-gohX.txt. Das große X ersetzt im Beispiel eine Zahl, oder was auch immer, dies können auch mehrere Zeichen sein – ich will nur die Dateien umbenennen, die mit Datei-okl beginnen:
mmv "Datei-okl*.txt" "Dokument-#01.txt"
Ersetzt wird also nur Datei-okl durch Dokument-01 – ein Beispiel: Datei-okl12.txt durch Dokument-01.txt.
Jetzt möchte ich xxxxx.jpg durch die aktuelle Jahreszahl ersetzen und natürlich eine fortlaufende Nummer hinzufügen – also etwa 1000000.jpg durch 2025_01.jpg:
mmv "*.jpg" "2025_#01.jpg"
Dies lässt sich natürlich auch rekursiv in Unterverzeichnissen anwenden:
mmv -r "*.jpg" "2025_#01.jpg"
Auch reguläre Ausdrücke lassen sich natürlich nutzen, mehr natürlich auf der Manpage mit dem Befehl:
man mmv
Eine Reaktion
Hallo, guter Tipp. Ich bin gerade mit Manjaro unterwegs. Im AUR gibt es verschiedene mvv-Pakete, und ich bin unsicher, welches das richtige ist. Robert, was ist Deine Erfahrung?
„aur/mmv 2.9.1-1 [out-of-date] [89+] [0.87%] [22 Oct 2024]
multiple move files
aur/mmv-c 0.1-1 [0+] [0.00%] [30 Jun 2024]
Rename multiple files with editor like to mmv-go
aur/mmv-c-git 0.1.0-1 [0+] [0.00%] [29 Aug 2022]
Rename multiple files with editor like to mmv-go
aur/mmv-go 0.1.6-1 [0+] [0.00%] [26 Apr 2023]
Rename multiple files with editor
aur/mmv-origin 2.6-1 [0+] [0.00%] [3 Jul 2024]
a program to move/copy/link multiple files according to a set of wildcard patterns“