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

Optimierte Implementierung von count() für große MySQL-Tabellen

Das Folgende ist mein Urteil basierend auf der Da...

CentOS-System-RPM-Installation und -Konfiguration von Nginx

Inhaltsverzeichnis CentOS RPM-Installation und Ko...

So verwenden Sie CocosCreator zur Tonverarbeitung bei der Spieleentwicklung

Inhaltsverzeichnis 1. Grundlagen der Audiowiederg...

Sortierfunktion für HTML-Tabellen per Mausklick

Effektbild: 1. Dateien importieren <script src...

Die perfekte Lösung, um das Passwort in mysql8.0.19 zu vergessen

Lesetipp: MySQL 8.0.19 unterstützt Kontosperrfunk...

MySQL implementiert eine Beispielmethode zum Anmelden ohne Kennwort

Spezifische Methode: Schritt 1: Stoppen Sie den M...

Eine kurze Einführung in MySQL InnoDB ReplicaSet

Inhaltsverzeichnis 01 Einführung in InnoDB Replic...

Beispiel für einen Persistenzbetrieb mit Gearman + MySQL

Dieser Artikel verwendet die Gearman+MySQL-Method...

MySQL partitioniert vorhandene Tabellen in der Datentabelle

Inhaltsverzeichnis So funktioniert es Betriebsabl...