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

Verstehen Sie die anfängliche Verwendung von Redux in React in einem Artikel

Redux ist ein Plug-In zur Datenstatusverwaltung. ...

my.cnf (my.ini) wichtige Parameteroptimierungs-Konfigurationsanweisungen

MyISAM-Speicher-Engine Die MyISAM-Speicher-Engine...

Lösen Sie das Problem der inkonsistenten MySQL-Speicherzeit

Nachdem die Systemzeit mit Java ermittelt und in ...

So fahren Sie MySQL sicher herunter

Beim Herunterfahren des MySQL-Servers können, abh...

Welche Regeln gelten für den Kontext in JavaScript-Funktionen?

Inhaltsverzeichnis 1. Regel 1: Objekt.Methode() 1...

Detaillierte Erklärung des JavaScript-Stacks und der Kopie

Inhaltsverzeichnis 1. Definition des Stapels 2. J...

Installieren Sie eine virtuelle Python-Umgebung in Ubuntu 18.04

Nur als Referenz für Python-Entwickler, die Ubunt...

So legen Sie den Fokus auf HTML-Elemente fest

Code kopieren Der Code lautet wie folgt: <Körp...

Wie viele Daten können in einer MySQL-Tabelle gespeichert werden?

Programmierer müssen sich viel mit MySQL befassen...

Tutorial zur Installation von MYSQL8.X auf Centos

MySQL-Installation (4, 5, 6 können weggelassen we...

MySQL-Anweisungsanordnung und zusammenfassende Einführung

SQL-Anweisungen (Structured Query Language), also...