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 Jemand könnte fragen, ob es nicht bequemer ist, im obigen Beispiel den Befehl 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:
|
<<: Pycharm2017 realisiert die Verbindung zwischen Python3.6 und MySQL
Die Systemumgebung ist Server2012 1. Laden Sie di...
Methode 1: Verwenden Sie den Befehl SET PASSWORD ...
Redux ist ein Plug-In zur Datenstatusverwaltung. ...
MyISAM-Speicher-Engine Die MyISAM-Speicher-Engine...
Verwenden Sie Metadaten, um eine zeitgesteuerte A...
Nachdem die Systemzeit mit Java ermittelt und in ...
Beim Herunterfahren des MySQL-Servers können, abh...
Inhaltsverzeichnis 1. Regel 1: Objekt.Methode() 1...
Inhaltsverzeichnis 1. Definition des Stapels 2. J...
Dies ist ein wichtiges (und wunderbares) Thema fü...
Nur als Referenz für Python-Entwickler, die Ubunt...
Code kopieren Der Code lautet wie folgt: <Körp...
Programmierer müssen sich viel mit MySQL befassen...
MySQL-Installation (4, 5, 6 können weggelassen we...
SQL-Anweisungen (Structured Query Language), also...