Übersicht
rename ist ein mächtiger Befehl, der verwendet wird, um Dateinamen in großen Mengen nach bestimmten Regeln zu ändern. Dieser Befehl verwendet Perl-kompatible reguläre Ausdrücke wie `s/old_pattern/new_pattern/`, um bestimmte Zeichenfolgen in Dateinamen zu finden und durch andere zu ersetzen. Zum Beispiel können Sie problemlos alle `.jpeg`-Erweiterungen in `.jpg` ändern oder Leerzeichen in Dateinamen durch Unterstriche (`_`) ersetzen.
Hauptmerkmale
Die Hauptmerkmale des `rename`-Befehls sind:
- Benennt mehrere Dateien gleichzeitig um.
- Bietet leistungsstarke musterbasierte Ersetzungsfunktionen durch reguläre Ausdrücke.
- Ist für Stapelverarbeitung optimiert, im Gegensatz zum `mv`-Befehl, der Dateien einzeln ändert.
- Unterstützt einen `Dry-Run`-Modus, um Änderungen vorab zu überprüfen und Fehler zu vermeiden.
Unterschiede zwischen rename und mv
rename und mv werden beide zum Umbenennen von Dateien verwendet, unterscheiden sich jedoch in Funktion und Zweck.
- rename: Spezialisiert auf die Stapelumbenennung mehrerer Dateien basierend auf Mustern.
- mv: Wird zum Umbenennen oder Verschieben einzelner Dateien oder Verzeichnisse verwendet. Zum Ändern mehrerer Dateien wäre ein Skript erforderlich.
Wichtige Optionen
Häufig verwendete Optionen des `rename`-Befehls, nach Zweck gruppiert.
1) Stapelumbenennung
2) Hilfe
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`rename` 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 `rename`-Befehls anhand verschiedener Anwendungsbeispiele kennen.
Dateierweiterung ändern
rename 's/\.jpeg$/.jpg/' *.jpeg
Ändert alle `.jpeg`-Erweiterungen im aktuellen Verzeichnis in `.jpg`.
Bestimmte Zeichenfolge im Dateinamen ändern
rename 's/^image_/photo_/' *.jpeg
Ändert `image_` in `photo_` in allen Dateinamen, die mit `image_` beginnen.
Leerzeichen in Unterstriche umwandeln
rename 's/ /_/g' *
Ändert alle Leerzeichen (` `) in Dateinamen in Unterstriche (`_`).
Großbuchstaben in Kleinbuchstaben umwandeln
rename 'y/A-Z/a-z/' *
Konvertiert alle Großbuchstaben in Dateinamen in Kleinbuchstaben.
Vorschau der Änderungen
rename -n 's/.html/.txt/' *.html
Überprüfen Sie die Ergebnisse der Änderung der `.html`-Erweiterung in `.txt`, ohne die tatsächlichen Dateien zu ändern.
Installation
rename ist nicht standardmäßig in allen Linux-Distributionen enthalten und muss mit den unten stehenden Befehlen installiert werden. In einigen Distributionen kann der Paketname `perl-rename` oder `prename` lauten.
Debian/Ubuntu
sudo apt update
sudo apt install rename
RHEL/CentOS/Fedora
sudo dnf install prename
Arch Linux
sudo pacman -S perl-rename
Tipps & Hinweise
Hier sind wichtige Hinweise zur Verwendung des `rename`-Befehls.
Tipps
- Im regulären Ausdruck bedeutet ein Punkt (`.`) jedes Zeichen. Daher müssen Sie beim Ändern von Dateierweiterungen einen Backslash (`\`) verwenden, um ihn zu escapen, z.B. `\.jpeg`.
- rename ist ein mächtiges Werkzeug. Um Fehler zu vermeiden, ist es immer ratsam, zuerst die Option `-n` zu verwenden, um die Ergebnisse zu überprüfen.
- Wenn Dateinamen Leerzeichen enthalten, müssen sie in Anführungszeichen (`"`) eingeschlossen als Argument übergeben werden.