So benennen Sie unter Linux eine Gruppe von Dateien auf einmal um

So benennen Sie unter Linux eine Gruppe von Dateien auf einmal um

Unter Linux verwenden wir normalerweise den Befehl mv zum Umbenennen von Dateien, was beim Umbenennen einer einzelnen Datei sehr praktisch ist. Wenn wir jedoch eine Gruppe von Dateien umbenennen möchten, ist mv etwas machtlos. Aber das macht nichts. Heute stellen wir einen nützlichen Befehl vor, mit dem Sie Stapelumbenennungen durchführen können – den Befehl „rename“.

Lassen Sie uns die Verwendung des Umbenennungsbefehls im Detail vorstellen.

Anders als der mv-Befehl gibt der rename-Befehl nicht einfach den alten und den neuen Dateinamen an. Stattdessen verwendet es reguläre Ausdrücke ähnlich wie Perl. Sehen wir uns zunächst ein Beispiel an.

$ benenne ‚/alt/neu/‘ um in this.old
$ ls dies*
das.neu

Darunter wird s verwendet, um anzugeben, dass wir使用第二個字符串替換第一個字符串, und so this.old in this.new ändern.

Jemand könnte fragen, ob es nicht bequemer ist, im obigen Beispiel den Befehl mv this.old this.new zu verwenden? Das stimmt, aber mit einem solchen Befehl kann immer nur eine Datei gleichzeitig umbenannt werden. Heute werden wir jedoch eine Gruppe von Dateien auf einmal umbenennen.

Wie geht man damit um? Es ist ganz einfach. Schauen wir uns das folgende Beispiel an:

$ ls *.alt
Bericht.alt Zeitplan.alt Statistiken.alt dies.alt
$ umbenennen 's/alt/neu/' *.alt
$ ls *.neu
Bericht.neu Zeitplan.neu Statistiken.alt dies.neu

Aus den obigen Ergebnissen können wir ersehen, dass wir durch diesen einfachen Befehlsvorgang alle Dateien mit der Endung .old im aktuellen Verzeichnis in Dateien mit der Endung .new umbenennen können. Es ist einfach und effizient!

Wenn Sie meinen, das wäre alles, was der Umbenennungsbefehl zu sagen hat, dann ist Ihr Code defekt. Der Umbenennungsbefehl ist nicht auf das Ändern von Dateierweiterungen beschränkt, er kann auch jede beliebige Zeichenfolge in einem Dateinamen ändern. Wenn wir beispielsweise den Dateinamen „report.*“ in „review.*“ ändern möchten, können wir den folgenden Befehl verwenden:

$ umbenennen 's/report/review/' *

Beachten Sie, dass die im regulären Ausdruck angegebenen Regeln jeden Teil des Dateinamens ändern können, sei es der Dateiname oder die Erweiterung.

$ umbenennen 's/123/124/' *
$ ls *124*
status.124 bericht124.txt

Wenn Sie „rename“ interaktiv verwenden möchten, um zu sehen, welche Änderungen vorgenommen wurden, und um Fehler zu vermeiden, können Sie die Option -v verwenden.

$ umbenennen -v ‚s/123/124/‘ *
status.123 umbenannt in status.124
report123.txt umbenannt in report124.txt

Mit der Option -v können Sie eine Vorschau des Textes anzeigen, wenn Sie eine Zeile ändern, und eine weitere Vorschau anzeigen, wenn Sie eine andere Zeile ändern. Dies ist jedoch ineffizient. Was passiert, wenn ich eine Vorschau des Ganzen anzeigen und alles auf einmal ändern möchte, nachdem ich bestätigt habe, dass keine Probleme vorliegen?

Wir können die Option -n oder --nono verwenden, damit der Umbenennungsbefehl die oben genannten Anforderungen erfüllt.

$ umbenennen -n ‚s/alt/speichern/‘ *
umbenennen(logger.man-old, logger.man-save)
umbenennen(lyrics.txt-alt, lyrics.txt-speichern)
umbenennen (ältere Datei-, gespeicherte Datei-)
umbenennen(alteDatei, Datei speichern)
umbenennen(review.old, review.save)
umbenennen(Zeitplan.alt, Zeitplan.speichern)
umbenennen(stats.old, stats.save)
umbenennen(dies.alt, dies.speichern)

Wenn Sie mit den obigen Änderungen einverstanden sind, können Sie die Option -n entfernen, um den Dateinamen formal zu ändern.

Beachten Sie, dass der . im regulären Ausdruck „rename“ kein normaler Punkt ist, sondern ein Platzhalter, der jedem beliebigen Zeichen entspricht. Um dies zu verstehen, können wir uns auf den folgenden Befehl beziehen.

$ umbenennen -n ‚s/.alt/.save/‘ *
umbenennen(logger.man-old, logger.man.save)
umbenennen(lyrics.txt-old, lyrics.txt.save)
umbenennen(review.old, review.save)
umbenennen(Zeitplan.alt, Zeitplan.speichern)
umbenennen(stats.old, stats.save)
umbenennen(dies.alt, dies.speichern)

Im obigen Beispiel wird nicht nur .old in .save geändert, sondern auch -old in .save.

Wenn Sie möchten, dass . einen Punkt darstellt, müssen Sie ein \-Escape-Symbol hinzufügen, d. h. verwenden Sie \., um einen englischen Punkt darzustellen.

$ umbenennen -n ‚s/\.alt/\.speichern/‘ *
umbenennen(review.old, review.save)
umbenennen(Zeitplan.alt, Zeitplan.speichern)
umbenennen(stats.old, stats.save)
umbenennen(dies.alt, dies.speichern)

Um alle Großbuchstaben in Kleinbuchstaben zu ändern, können wir den folgenden Befehl verwenden.

$ umbenennen -n 'y/AZ/az/' W*
umbenennen(WARNZEICHEN.pdf, warnzeichen.pdf)
umbenennen(Will_Gardner_buttons.pdf, will_gardner_buttons.pdf)
umbenennen(Wingding_Invites.pdf, wingding_invites.pdf)
umbenennen(WOW-buttons.pdf, wow-buttons.pdf)

Verwenden Sie -n, um eine Vorschau der vorzunehmenden Änderungen anzuzeigen, und y, um die Groß-/Kleinschreibung zu ändern.

Im obigen Beispiel haben wir alle Dateinamen, die mit einem großen W begannen, in Kleinbuchstaben geändert.

Zusammenfassen

Wenn Sie eine einzelne Datei umbenennen möchten, können Sie den Befehl mv verwenden. Wenn Sie eine Gruppe von Dateien umbenennen möchten, ist es bequemer, den Befehl „rename“ zu verwenden. Beachten Sie, dass es am besten ist, die Option -n hinzuzufügen, wenn Sie den Befehl „rename“ verwenden, um zuerst eine Vorschau der vorzunehmenden Änderungen anzuzeigen und dann nach der Bestätigung der Richtigkeit umzubenennen, um Unfälle zu vermeiden.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So benennen Sie in Linux mehrere Dateien gleichzeitig um

<<:  Pycharm2017 realisiert die Verbindung zwischen Python3.6 und MySQL

>>:  MySQL-Gruppierungsmethode für die Gruppierungssequenz einzelner Wörter und die Gruppierung mehrerer Felder

Artikel empfehlen

Hinweise zur Zeitverwaltung des Linux-Kernel-Gerätetreibers

/****************** * Zeitverwaltung des Linux-Ke...

Der Unterschied zwischen GB2312, GBK und UTF-8 in der Webseitenkodierung

Zunächst müssen wir verstehen, dass GB2312, GBK u...

MySQL Multi-Instance-Bereitstellungs- und Installationshandbuch unter Linux

Was ist MySQL Multi-Instance Einfach ausgedrückt ...

So migrieren Sie lokales MySQL in eine Serverdatenbank

Wir können den scp-Befehl von Linux (scp kann unt...

Detaillierte Erklärung zur Verwendung des Alias-Befehls unter Linux

1. Verwendung von Pseudonymen Mit dem Alias-Befeh...

Rendering-Funktion und JSX-Details

Inhaltsverzeichnis 1. Grundlagen 2. Knoten, Bäume...

Beispiel für die Integration von Kafka mit Nginx

Hintergrund nginx-kafka-module ist ein Plug-In fü...

Lösung zur Installation von OpenCV 3.2.0 in Ubuntu 18.04

Laden Sie opencv.zip herunter Installieren Sie di...

Detaillierte Schritte zur Installation von MYSQL8.0 auf CentOS7.6

1. Im Allgemeinen ist MariaDB in CentOS standardm...