Übersicht
mmv steht für 'mass move' und ist ein Dienstprogramm, das speziell für die gleichzeitige Verarbeitung mehrerer Dateien entwickelt wurde. Im Gegensatz zu `mv`, das hauptsächlich zum Verschieben/Umbenennen einzelner Dateien verwendet wird, definiert mmv eine Gruppe von Quelldateien mithilfe von Wildcard-Mustern wie `*.jpeg` und wandelt diese in ein neues Muster um, um eine Gruppe von Zieldateien zu erstellen. Ein besonderer Vorteil ist, dass `mmv` im Gegensatz zu `rename`, das sich auf die Umbenennungsfunktion konzentriert, alle Funktionen wie Kopieren (`cp`), Verknüpfen (`ln`) und Verschieben (`mv`) integriert anbietet.
Hauptmerkmale
Die Hauptmerkmale des mmv-Befehls sind:
- Verarbeitet mehrere Dateien im Stapel mithilfe von Wildcard-Mustern.
- Bietet integrierte Funktionen zum Verschieben (`mv`), Kopieren (`cp`), Verknüpfen (`ln`) und Umbenennen von Dateien.
- Ähnlich wie `rename`, aber mit vielfältigeren Funktionen und intuitiverer Bedienung.
- Gibt Warnmeldungen aus, wenn Konflikte auftreten, um Fehler zu vermeiden.
Unterschiede zwischen mmv und rename
mmv und rename werden beide zur Stapelumbenennung von Dateien verwendet, unterscheiden sich jedoch in ihrer Funktionsweise.
- mmv: Verwendet Wildcards (`*`, `?`, `[ ]`), um Muster zu definieren, und rekonstruiert erfasste Teile mit Zahlen (#1, #2). Bietet auch Kopier-/Verschieb-/Verknüpfungsfunktionen.
- rename: Spezialisiert auf das Umbenennen mithilfe von Perl-regulären Ausdrücken (`s/Muster/Ersetzung/`).
Wichtige Optionen
Der mmv-Befehl kann sein detailliertes Verhalten über Dateiverarbeitungsmodi und Optionen steuern.
1) Dateiverarbeitungsoptionen
2) Musterabgleich
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`mmv` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Lernen Sie die Funktionen des mmv-Befehls durch verschiedene Anwendungsbeispiele kennen.
Dateierweiterung ändern
mmv '*.jpeg' '#1.jpg'
Ändert alle `.jpeg`-Erweiterungen im aktuellen Verzeichnis zu `.jpg`.
Präfix zu Dateinamen hinzufügen
mmv '*.txt' 'doc_#1.txt'
Fügt das Präfix `doc_` zu allen `.txt`-Dateien hinzu.
Verzeichnis verschieben
mmv '*.log' '/var/log/#1.log'
Verschiebt alle `.log`-Dateien aus dem aktuellen Verzeichnis in das Verzeichnis `/var/log`.
Groß-/Kleinschreibung ändern
mmv '*.*' '#l1.#l2'
Ändert Großbuchstaben in Dateinamen zu Kleinbuchstaben.
Vorschau der Änderungen
mmv -n '*.bak' '#1.old'
Überprüft das Ergebnis der Änderung von `.bak`-Erweiterungen zu `.old`, ohne die Dateien tatsächlich zu ändern.
Installation
mmv ist in den meisten Linux-Distributionen standardmäßig nicht enthalten und muss daher mit den folgenden Befehlen installiert werden:
Debian/Ubuntu
sudo apt update
sudo apt install -y mmv
RHEL/CentOS/Fedora
sudo dnf install -y mmv
Arch Linux
sudo pacman -S mmv
Tipps & Hinweise
Hier sind wichtige Punkte, die bei der Verwendung des mmv-Befehls zu beachten sind.
Tipps
- Die Muster-Syntax von mmv ähnelt den Wildcards der Shell. `*` steht für eine beliebige Zeichenfolge, `?` für ein einzelnes Zeichen. Ein `*` im `from_pattern` kann im `to_pattern` als `#1`, `#2` usw. referenziert werden.
- Bei Dateinamenskonflikten führt `mmv` standardmäßig keine Operation aus und gibt eine Warnung aus. Mit der Option `-f` können Konflikte ignoriert und Dateien erzwungen überschrieben werden, aber Vorsicht vor Datenverlust ist geboten.
- Um zu verhindern, dass reguläre Ausdrücke und Wildcard-Muster von der Shell erweitert werden, müssen die Musterzeichenfolgen unbedingt in einfache Anführungszeichen (`'`) gesetzt werden.