Einführung

Linux bietet verschiedene Optionen zum Umbenennen von Dateien, einschließlich der Verwendung der GUI und mehrerer dedizierter Terminalbefehle. Dies macht es relativ einfach, einzelne Dateien umzubenennen, aber es kann schwierig sein, mehrere Dateien gleichzeitig umzubenennen.

In diesem Tutorial gehen wir auf verschiedene Befehle ein, die Sie im Linux-Terminal verwenden können, um Dateien unter Linux umzubenennen.

 So benennen Sie Dateien in Linux um

Voraussetzungen

  • Ein System, auf dem eine Linux-Distribution ausgeführt wird
  • Ein Konto mit Sudo-Berechtigungen
  • Zugriff auf das Terminalfenster / die Befehlszeile
  • Zugriff auf einen Texteditor wie Vim oder Nano

Benennen Sie Dateien mit dem Befehl mv um

mv (move) Befehl wird verwendet, um Dateien und Verzeichnisse aus dem Terminal zu verschieben. Es verwendet die folgende Syntax:

mv 

Wenn Sie mit dem Befehl mvein Verzeichnis als Ziel angeben, wird die Quelldatei in dieses Verzeichnis verschoben. Wenn das Ziel ein anderer Dateiname ist, benennt der Befehl mv die Quelldatei stattdessen in diesen Namen um.

Hinweis: Weitere Informationen zur Verwendung des Befehls mv finden Sie in unserem Handbuch zum Verschieben von Verzeichnissen unter Linux.

Benennen Sie eine einzelne Datei mit dem Befehl mv um

Mit dem Befehl mv mit seiner Standardsyntax können Sie eine einzelne Datei umbenennen:

mv 

Zum Beispiel, wenn wir example1 umbenennen möchten.txt in example2.txt, würden wir verwenden:

mv example1.txt example2.txt

Da es keine Ausgabe gibt, wenn der Befehl erfolgreich ist, verwenden wir den Befehl ls, um zu überprüfen, ob der Name geändert wurde:

ls -l
 Umbenennen einer einzelnen Datei mit dem Befehl mv

Benennen Sie mehrere Dateien mit dem Befehl mv

um Der Befehl mv benennt eine einzelne Datei um. Durch die Kombination mit anderen Befehlen können Sie jedoch mehrere Dateien gleichzeitig umbenennen.

Eine Methode besteht darin, mit dem Befehl find mehrere Dateien mit einem ähnlichen Namen auszuwählen und sie dann mit dem Befehl mv umzubenennen:

find . -depth -name "" -exec sh -c 'f="{}"; mv -- "$f" "${f%}"' \;

Mit dieser Syntax definiert der Befehl find ein Element des aktuellen Dateinamens als Suchparameter. Als nächstes führt -exec den Befehl mv für alle Dateien aus, die der Suche entsprechen, und ändert ihre aktuellen Dateinamen in den neuen.

Zum Beispiel, wenn wir example1 .txt, Beispiel2.txt und example3.txt und wollen die Erweiterung ändern .PDF:

find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;
 Umbenennen mehrerer Dateien mit den Befehlen find und mv

Eine andere Methode besteht darin, den Befehl mv als Teil einer Schleife <strong>for</strong> in einem Bash-Skript zu verwenden.

Beginnen Sie im selben Beispiel mit dem Erstellen und Öffnen einer Bash-Skriptdatei mit einem Texteditor wie Nano:

sudo nano rename_files.sh

Hinweis: Erfahren Sie mehr über die Verwendung von Bash-Skripten zum Verwalten von Dateien und Verzeichnissen in Linux.

Fügen Sie dem Skript die folgenden Zeilen hinzu:

#!/bin/bashfor f in *.txt; do mv -- "$f" "${f%.txt}.pdf"done

Im obigen Skript:

  • Die erste Zeile weist das Skript an, nach allen Dateien im aktuellen Verzeichnis zu suchen, die mit enden .txt.
  • Die zweite Zeile verwendet den Befehl mv für jede gefundene Datei, um die zu ersetzen .txt-Erweiterung mit .PDF.
  • Die dritte Zeile beendet das Schleifensegment.

Drücken Sie Strg+X, geben Sie dann Y ein und drücken Sie die Eingabetaste, um die Änderungen am Skript zu speichern und zu beenden.

Verwenden Sie den Befehl sh, um das Skript auszuführen:

sh rename_files.sh
 Umbenennen mehrerer Dateien mit einem Bash-Skript

Datei umbenennen mit dem Befehl rename

Der Befehl rename wird verwendet, um mehrere Dateien oder Verzeichnisse in Linux umzubenennen. Es bietet mehr Funktionen als der Befehl mv, kann jedoch schwieriger zu verwenden sein, da Grundkenntnisse in Perl-Ausdrücken erforderlich sind.

Installieren des Umbenennungsbefehls

Auf vielen Linux-Distributionen ist der Befehl rename standardmäßig nicht verfügbar. Wenn auf Ihrem System der Befehl rename fehlt, installieren Sie ihn mit:

  • Verwenden Sie für Ubuntu und Debian sudo apt install rename
  • Verwenden Sie für CentOS und Fedora sudo yum install prename
  • Verwenden Sie für Arch Linux sudo pacman -S rename

rename Befehlssyntax und Optionen

Es gibt drei Arten von regulären Perl-Ausdrücken: und übersetzen. Der Befehl rename verwendet Ausdrücke ersetzen und Übersetzen, um Datei- und Verzeichnisnamen zu ändern.

Ersatzausdrücke ersetzen einen Teil des Dateinamens durch eine andere Zeichenfolge. Sie verwenden die folgende Syntax:

rename 's///' 

Mit dieser Syntax benennt der Befehl die Datei um, indem er das erste Vorkommen des Elements filename durch die Ersetzung ersetzt. Im obigen Befehl:

  • rename: Ruft den Befehl rename auf.
  • : Stellt ein optionales Argument bereit, das die Ausführung des Befehls ändert.
  • s: Gibt einen Ersatzausdruck an.
  • : Gibt den Teil des Dateinamens an, den Sie ersetzen möchten.
  • : Gibt einen Ersatz für den Teil des aktuellen Dateinamens an.
  • : Definiert die Datei, die Sie umbenennen möchten.

Ein translate-Ausdruck übersetzt eine Zeichenfolge in eine andere, Zeichen für Zeichen. Dieser Ausdruckstyp verwendet die folgende Syntax:

rename 'y///' 

Ein Beispiel für einen rename -Befehl mit einem translate-Ausdruck:

rename 'y/abc/xyz/'

In diesem Beispiel wird jedes a-Zeichen im Dateinamen durch ein x, jedes b durch ein y und jedes c durch ein z ersetzt.

Der Befehl rename verwendet die folgenden Optionen:

  • -a: Ersetzt alle Vorkommen des Elements filename anstelle nur des ersten.
  • -f: Erzwingt ein Überschreiben vorhandener Dateien.
  • -h: Zeigt den Hilfetext an.
  • -i: Zeigt eine Eingabeaufforderung an, bevor vorhandene Dateien überschrieben werden.
  • -l: Ersetzt das letzte Vorkommen des Elements filename anstelle des ersten.
  • -n: Führt einen Trockenlauf durch und nimmt keine dauerhaften Änderungen vor. Am besten kombiniert mit der ausführlichen Ausgabe (-v).
  • -s: Benennt das Ziel anstelle des Symlinks um.
  • -v: Zeigt eine ausführliche Version der Ausgabe an.
  • -V: Zeigt die Befehlsversion an.

Beispiele für Umbenennungsbefehle

1. Dateierweiterung ändern

Zurück zu unserem letzten Beispiel, um die Dateierweiterung von zu ändern .txt zu .pdf, verwenden:

rename -v 's/.txt/.pdf/' *.txt
 Verwenden des Befehls Umbenennen, um die Dateierweiterung zu ersetzen

2. Ersetzen eines Teils eines Dateinamens

Das Ersetzen eines anderen Teils des Dateinamens folgt derselben Syntax. So benennen Sie example1 um.txt, Beispiel2.txt und example3.txt zu test1.txt, test2.txt und text3.txt, verwenden:

rename -v 's/example/test/' *.txt
 Umbenennen mehrerer Dateien mit dem Befehl rename

3. Löschen eines Teils eines Dateinamens

Mit der Option rename können Sie auch einen Teil des Dateinamens löschen, indem Sie den Ersatzteil des Ausdrucks weglassen. Zum Beispiel, wenn wir example in ex verkürzen wollen:

rename -v 's/ample//' *.txt
 Entfernen eines Teils des Dateinamens mit dem Befehl rename

4. Umbenennen von Dateien mit ähnlichen Namen

Eine andere Verwendung für die Option rename besteht darin, Dateien mit ähnlichen Namen umzubenennen. Zum Beispiel, wenn wir Dateien mit Beispiel und Beispiel in ihrem Namen umbenennen möchten, um zu testen:

rename -v 's/(ex|s)ample/test/' *.txt
 Umbenennen mehrerer Dateien mit ähnlichen Namen mit dem Befehl rename

5. Dateien zeichenweise umbenennen

Mit dem Befehl rename können Sie auch translate-Ausdrücke verwenden, um Dateien zeichenweise umzubenennen. Wenn Sie beispielsweise mehrere Dateien mit dem Namen example file umbenennen möchten, indem Sie das Leerzeichen durch einen Unterstrich (_) ersetzen:

rename -v 'y/ /\_/' *.txt
 Entfernen von Leerzeichen aus Dateinamen mit dem Befehl Umbenennen

6. Kleinbuchstaben konvertieren

Um Kleinbuchstaben in Dateinamen in Großbuchstaben umzuwandeln, verwenden Sie:

rename -v 'y/a-z/A-Z/' *.txt
 Konvertieren von Dateinamen von Kleinbuchstaben in Großbuchstaben mit dem Befehl Umbenennen

7. Großbuchstaben konvertieren

Umgekehrt funktioniert es auch, wenn wir die Reihenfolge der Groß- und Kleinbuchstaben im Ausdruck ändern:

rename -v 'y/A-Z/a-z/' *.TXT
 Konvertieren von Dateinamen von Großbuchstaben in Kleinbuchstaben mit dem Befehl Umbenennen

Hinweis: Seien Sie vorsichtig, wenn Sie die Groß- / Kleinschreibung ändern, da dies auch die Dateierweiterung ändert.

Fazit

Nach dem Lesen dieses Tutorials sollten Sie in der Lage sein, Dateien mit den Befehlen mv und rename in Linux umzubenennen.

Erfahren Sie mehr über die Verwendung von Linux-Befehlen in unserem Spickzettel für Linux-Befehle.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.