So benennen Sie mehrere Dateien unter Linux um

Das Umbenennen von Dateien auf Linux-Systemen erfolgt normalerweise mit dem Befehl mv (Verschieben). Die Syntax ist nur mv old.txt new.txt . Einfach genug, aber was ist, wenn wir mehrere Dateien haben, die gleichzeitig umbenannt werden müssen, sogar Hunderte davon? Das Standard-mv-Dienstprogramm kann nicht mehr als eine Datei umbenennen, es sei denn, wir führen ein wenig Skripting durch. Es gibt auch andere Dienstprogramme, die wir installieren können, um das Problem zu lösen, wie rename und mmv.

In diesem Handbuch zeigen wir Ihnen, wie Sie den Befehl mv sowie die Tools rename und mmv verwenden, um mehrere Dateien auf Ihrer Linux-Distribution umzubenennen. Wir werden einige Beispiele durchgehen, damit Sie die Syntax und die Verwendung der einzelnen Methoden verstehen können.

In diesem Tutorial lernen Sie:

  • So benennen Sie mehrere Dateien gleichzeitig mit dem Befehl mv um
  • So installieren Sie rename auf wichtigen Linux-Distributionen
  • So installieren Sie mmv auf wichtigen Linux-Distributionen
  • Verwendung von mmv durch Befehlsbeispiele
  • Verwendung von rename durch Befehlsbeispiele
 Umbenennen mehrerer Dateien auf einmal unter Linux

Umbenennen mehrerer Dateien auf einmal unter Linux

Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion Gebraucht
System Jede Linux-Distribution
Software mv, umbenennen, mmv
Sonstiges Privilegierter Zugriff auf Ihr Linux-System als root oder über den Befehl sudo.
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder mithilfe des Befehls sudo
$ – erfordert, dass bestimmte Linux-Befehle als regulärer nicht privilegierter Benutzer ausgeführt werden

Benennen Sie mehrere Dateien gleichzeitig mit dem Befehl mv um

Das Umbenennen mehrerer Dateien mit dem Befehl mv ist einfacher, wenn Sie ein wenig Bash-Scripting kennen. Schauen Sie sich einige der folgenden Beispiele an, um einige häufige Anwendungen dieser Methode zu sehen.

  1. Der folgende Befehl fügt ein .txt-Dateierweiterung für alle Dateien in Ihrem aktuellen Arbeitsverzeichnis.
    $ for i in $( ls ); do mv $i $i.txt; done
  2. Um eine Dateierweiterung aus allen Dateien zu entfernen, können Sie diesen Befehl verwenden.
    $ for i in $( ls *.txt ); do mv $i ${i%.*}; done
  3. Wir können auch die Dateierweiterung jeder Datei ändern. Der folgende Befehl ändert alle Dateien mit dem .log-Erweiterung zu .txt.
    $ for i in *.log; do mv -- "$i" "${i%.log}.txt"; done
  4. Sie können auch den Befehl find zusammen mit der Option -exec oder dem Befehl xargs verwenden, um mehrere Dateien gleichzeitig umzubenennen. Dieser Befehl wird angehängt .bak zu jeder Datei, die mit dem Muster „Datei“ beginnt.
    $ find . -type f -name 'file*' -print0 | xargs --null -I{} mv {} {}.bak
  5. Dieser Befehl verwendet find und die Option -exec, um „_backup“ an alle Dateien anzuhängen, die auf „.txt-Erweiterung.
    $ find . -name "*.txt" -exec mv {} {}_backup \;
  6. Wir können auch xargs verwenden, um dasselbe zu tun. Dieser Befehl akzeptiert Standardeingaben aus dem Befehl ls und fügt dann mit xargs „_backup“ an alle Dateien an, die auf „.txt-Erweiterung.
    $ ls *.txt | xargs -I{} mv {} {}_backup
  7. Um alle Dateien mit der .txt im aktuellen Verzeichnis nur Kleinbuchstaben haben, wird dieser Befehl den Job machen.
    $ for i in `ls *.txt`; do mv "$i" "`echo $i | tr '' ''`"; done

Der Vorteil dieser Methode ist, dass wir keine zusätzliche Linux-Software benötigen – wir verwenden nur das native mv-Dienstprogramm und manchmal gekoppelt mit ls, find oder xargs. Wie wir jedoch in diesen Beispielen gesehen haben, kann es ziemlich komplex sein, etwas Einfaches wie das Umbenennen einiger Dateien zu tun. Schauen Sie sich einige der anderen Methoden unten an, um einige bequemere Optionen zu sehen, die eine Installation erfordern.

Install rename utility

Auf Ihrer Linux-Distribution ist möglicherweise bereits rename standardmäßig installiert. Falls es noch nicht installiert ist, können Sie den entsprechenden Befehl unten verwenden, um es über den Paketmanager Ihres Systems zu installieren.

So installieren Sie rename unter Ubuntu, Debian und Linux Mint:

$ sudo apt install rename

So installieren Sie rename auf CentOS, Fedora, AlmaLinux und Red Hat:

$ sudo dnf install prename

So installieren Sie rename unter Arch Linux und Manjaro:

$ sudo pacman -S perl-rename

rename command examples

Der Befehl rename akzeptiert Perl-Ausdrücke, um die tatsächliche Umbenennung durchzuführen. Wenn Sie mit dieser Syntax bereits vertraut sind, ist rename sehr einfach zu verwenden. Wenn nicht, keine Sorge, wir haben unten einige Beispiele, die Ihnen helfen, den Dreh raus zu bekommen.

Hier haben wir einige der häufigsten Szenarien zusammengestellt, in denen Sie mehrere Dateien gleichzeitig umbenennen müssen. Diese Befehle gehen davon aus, dass sich die Dateien, die Sie umbenennen möchten, in Ihrem aktuellen Arbeitsverzeichnis befinden. Sie können jederzeit den Pfad zu anderen Verzeichnissen angeben, wenn Sie möchten.

Es gibt einige Optionen, die Sie mit rename verwenden können. Die Option -n zeigt Ihnen, welche Änderungen rename vornehmen wird, ohne die Änderungen tatsächlich vorzunehmen. Dies hilft Ihnen, unerwünschte Änderungen zu vermeiden. Die Option -v (ausführlich) gibt die Namen der Dateien aus, die erfolgreich umbenannt wurden.

  1. Dieser Befehl benennt Großbuchstaben in Kleinbuchstaben um.
    $ rename 'y/A-Z/a-z/' *

    Oder, um Kleinbuchstaben in Großbuchstaben umzuwandeln:

    $ rename 'y/a-z/A-Z/' *
  2. Verwenden Sie die folgende Syntax, um die Erweiterung einer Reihe von Dateien zu ändern. Dieses spezielle Beispiel wird konvertieren .log-Dateien an .txt-Dateien.
    $ rename 's/\.log$/\.txt/' *.log
  3. Verwenden Sie den folgenden Befehl, um den ersten Buchstaben jedes Dateinamens groß zu schreiben.
    $ rename 's/\b(\w)/\U/g' *
  4. Führen Sie diesen Befehl aus, um alle Leerzeichen aus Dateinamen zu entfernen.
    $ rename "s/ *//g" *

    Oder, um Leerzeichen durch Unterstriche zu ersetzen:

    $ rename 's/\s+/_/g' *
  5. Verwenden Sie die folgende Syntax, um eine Dateierweiterung aus einer Reihe von Dateien zu entfernen. Dieses Beispiel wird die entfernen .bak-Erweiterung.
    $ rename 's/\.bak$//' *.bak

Install mmv utility

Sie können den entsprechenden Befehl unten verwenden, um mmv über den Paketmanager Ihres Systems zu installieren.

So installieren Sie mmv unter Ubuntu, Debian und Linux Mint:

$ sudo apt install mmv

So installieren Sie mmv auf CentOS, Fedora, AlmaLinux und Red Hat:

$ sudo dnf install mmv

So installieren Sie mmv unter Arch Linux und Manjaro:

$ git clone https://aur.archlinux.org/mmv.git$ cd mmv/$ makepkg -si

mmv-Befehlsbeispiele

Das attraktivste Merkmal von mmv ist die Möglichkeit, viele Dateien einfach umzubenennen, indem Platzhalter im Befehl akzeptiert werden. Auf diese Weise können Sie bestimmte Muster einfach an Dateinamen anhängen oder entfernen oder sogar Text innerhalb der Namen anordnen. Schauen Sie sich einige der folgenden Beispiele an, um die Syntax für das mmv-Tool zu lernen, und sehen Sie sich einige der häufigsten Befehle an, die Sie möglicherweise ausführen. Beachten Sie, dass Sie die Option -n mit mmv verwenden können, um eine Vorschau der Änderungen anzuzeigen.

  1. Verwenden Sie dieses Beispiel, um die Dateierweiterung für eine Reihe von Dateien zu ändern. Dieser Befehl ändert alle Dateien mit der Erweiterung .htm zu .HTML.
    $ mmv '*.htm' '#1.html'
  2. Dieser Befehl ersetzt das erste Vorkommen von „foo“ durch „bar“ in allen Dateinamen.
    $ mmv '*foo*' '#1bar#2'
  3. Der folgende Befehl gibt Ihnen eine Vorstellung davon, wie Sie mmv verwenden können, um Teile eines Dateinamens neu anzuordnen. In diesem Beispiel werden Dateien wie access.log-dbserver und rejected.log-webserver in access-dbserver.log bzw. rejected-webserver.log umbenannt. Damit dies funktioniert, brauchen wir nur ein konsistentes Muster, wie in diesem Fall den Bindestrich und den Punkt.
    $ mmv '*.log-*' '#1-#2.log'
  4. Ändern Sie mit diesem Befehl alle Dateinamen in Kleinbuchstaben.
    $ mmv '*' '#l1'
  5. Ändern Sie umgekehrt die Dateinamen mit diesem in alle Großbuchstaben.
    $ mmv '*' '#u1'

Abschließende Gedanken

In diesem Handbuch haben wir verschiedene Methoden zum gleichzeitigen Umbenennen mehrerer Dateien unter Linux kennengelernt. Wir haben auch eine Vielzahl von Befehlszeilenbeispielen gesehen, die viele verschiedene Szenarien abdecken oder leicht an ähnliche Situationen angepasst werden können. Die Massenbenennung kann über native Bash-Dienstprogramme wie mv, ls, xargs und find erfolgen, oder wir können das Dienstprogramm mmv oder rename installieren, um unser Leben ein wenig einfacher zu machen. Jede Methode hat ihre Stärken und Schwächen, verwenden Sie also die Methode, die Ihrer Meinung nach für Sie am bequemsten ist.

Schreibe einen Kommentar

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