Android

So benennen Sie Dateien und Verzeichnisse unter Linux um

Ordner über die Konsole erstellen oder löschen - Ubuntu-Terminal

Ordner über die Konsole erstellen oder löschen - Ubuntu-Terminal

Inhaltsverzeichnis:

Anonim

Das Umbenennen von Dateien und Verzeichnissen ist eine der grundlegendsten Aufgaben, die Sie häufig auf einem Linux-System ausführen müssen.

Das Umbenennen einer einzelnen Datei ist einfach, das gleichzeitige Umbenennen mehrerer Dateien kann jedoch eine Herausforderung darstellen, insbesondere für Benutzer, die Linux noch nicht kennen. Sie können Dateien mit einem GUI-Dateimanager oder über das Befehlszeilenterminal umbenennen.

In diesem Tutorial zeigen wir Ihnen, wie Sie mit den Befehlen mv und rename Dateien und Verzeichnisse umbenennen.

Dateien mit mv Command umbenennen

Der Befehl mv (kurz vor dem Verschieben) wird verwendet, um Dateien umzubenennen oder von einem Ort an einen anderen zu verschieben. Die Syntax für den Befehl mv lautet wie folgt:

mv source destination

Die source kann eine oder mehrere Dateien oder Verzeichnisse sein, und das destination kann eine einzelne Datei oder ein einzelnes Verzeichnis sein.

  • Wenn Sie mehrere Dateien als source angeben, muss das destination ein Verzeichnis sein. In diesem Fall werden die source in das Zielverzeichnis verschoben. Wenn Sie eine einzelne Datei als source angeben und das destination ein vorhandenes Verzeichnis ist, wird die Datei in das angegebene Verzeichnis verschoben. Um eine Datei umzubenennen, müssen Sie a angeben einzelne Datei als source und einzelne Datei als destination .

Um beispielsweise die Datei file1.txt in file2.txt , würden Sie file2.txt ausführen:

mv file1.txt file2.txt

Mehrere Dateien mit mv Command umbenennen

Der Befehl mv kann jeweils nur eine Datei umbenennen, er kann jedoch in Verbindung mit anderen Befehlen wie find oder inside bash für oder while-Schleifen verwendet werden, um mehrere Dateien umzubenennen.

Das folgende Beispiel zeigt, wie Sie mit der Bash for-Schleife alle .html Dateien im aktuellen Verzeichnis umbenennen, indem Sie die .html Erweiterung in .php .

for f in *.html; do mv -- "$f" "${f%.html}.php" done

Lassen Sie uns den Code Zeile für Zeile analysieren:

  • Die erste Zeile erstellt eine for-Schleife und durchläuft eine Liste aller mit .html umrandeten Dateien. Die zweite Zeile gilt für jedes Element der Liste und verschiebt die Datei in eine neue, wobei .html durch .php . Der Teil ${file%.html} verwendet die Shell-Parametererweiterung, um den .html Teil aus dem Dateinamen zu entfernen. Er gibt das Ende des Schleifensegments an.

Wir können auch den Befehl mv in Kombination mit find , um dasselbe wie oben zu erreichen.

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

Der Befehl find übergibt alle Dateien, die mit .html im aktuellen Verzeichnis enden, nacheinander mit der -exec an den Befehl mv . Die Zeichenfolge {} ist der Name der aktuell verarbeiteten Datei.

Wie Sie aus den obigen Beispielen ersehen können, ist das Umbenennen mehrerer Dateien mit dem Befehl mv keine leichte Aufgabe, da hierfür gute Kenntnisse in Bash-Skripten erforderlich sind.

Umbenennen von Dateien mit dem Befehl umbenennen

Der Befehl zum Umbenennen wird verwendet, um mehrere Dateien umzubenennen. Dieser Befehl ist fortgeschrittener als mv da er einige Grundkenntnisse über reguläre Ausdrücke erfordert.

Es gibt zwei Versionen des rename mit unterschiedlicher Syntax. In diesem Lernprogramm verwenden wir die Perl-Version des Befehls zum rename . Wenn Sie diese Version nicht auf Ihrem System installiert haben, können Sie sie einfach mit dem Paket-Manager Ihrer Distribution installieren.

  • Installiere Rename auf Ubuntu und Debian

    sudo apt install rename

    Installieren Sie die Umbenennung unter CentOS und Fedora

    sudo yum install prename

    Installieren Sie die Umbenennung unter Arch Linux

    yay perl-rename ## or yaourt -S perl-rename

Die Syntax für den Befehl zum rename lautet wie folgt:

rename perlexpr files

Der Befehl zum Umbenennen benennt alle files gemäß dem angegebenen regulären Ausdruck perlexpr um. Sie können über Perl reguläre Ausdrücke hier.

Der folgende Befehl ändert beispielsweise alle Dateien mit der Erweiterung .html in .php :

rename 's/.html/.php/' *.html

Sie können das Argument -n , um die Namen der umzubenennenden Dateien zu drucken, ohne sie umzubenennen.

rename -n 's/.html/.php/' *.html

Die Ausgabe sieht ungefähr so ​​aus:

rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)

Standardmäßig überschreibt der Befehl zum Umbenennen keine vorhandenen Dateien. -f Argument -f , damit vorhandene Dateien -f werden.

rename -f 's/.html/.php/' *.html

Im Folgenden finden Sie einige häufigere Beispiele für die Verwendung des Befehls zum Umbenennen:

  • Ersetzen Sie Leerzeichen in Dateinamen durch Unterstriche

    rename 'y/ /_/' *

    Konvertieren Sie Dateinamen in Kleinbuchstaben

    rename 'y/AZ/az/' *

    Konvertieren Sie Dateinamen in Großbuchstaben

    rename 'y/az/AZ/' *

Fazit

Inzwischen sollten Sie ein gutes Verständnis für die Verwendung der Befehle mv und rename zum Umbenennen von Dateien haben. Natürlich gibt es andere Befehle zum Umbenennen von Dateien in Linux, wie z. B. mmv . Neue Linux-Benutzer, die von der Befehlszeile eingeschüchtert sind, können GUI-Batch-Rename-Tools wie Métamorphose verwenden.

benenne mv terminal um