Umbenennen mehrerer Dateien und Verzeichnisse mit dem mv
Befehl kann ein mühsamer Prozess sein, da er komplexe Befehle mit Pipes, Schleifen usw. schreiben muss.
Hier ist der rename
Befehl ist praktisch. Es benennt die angegebenen Dateien um, indem es den Suchausdruck in ihrem Namen durch den angegebenen Ersatz ersetzt.
In diesem Tutorial erklären wir, wie man rename
verwendet Befehl zum Stapelumbenennen von Dateien.
Installation von rename
#
Es gibt zwei Versionen von rename
Befehl mit unterschiedlicher Syntax und unterschiedlichen Funktionen. Wir werden die Perl-Version von rename
verwenden Befehl.
Wenn diese Version nicht auf Ihrem System installiert ist, verwenden Sie den Paketmanager Ihrer Linux-Distribution, um sie zu installieren:
-
Ubuntu und Debian
sudo apt update
sudo apt install rename
-
CentOS und Fedora
sudo yum install prename
-
Arch-Linux
yay perl-rename
Mit rename
#
Das Folgende ist die allgemeine Syntax für rename
Befehl:
rename [OPTIONS] perlexpr files
Das rename
Befehl ist im Grunde ein Perl-Skript. Es wird die angegebenen files
umbenennen entsprechend dem angegebenen perlexpr
regulären Ausdruck. Informationen zu regulären Ausdrücken in Perl finden Sie hier.
Beispielsweise ändert der folgende Befehl die Erweiterung aller .css
Dateien in .scss
:
rename 's/.css/.scss/' *.css
Lassen Sie uns den Befehl genauer erklären:
s/search_pattern/replacement/
- Der Substitutionsoperator..css
- Das Suchmuster. Es ist das erste Argument im Substitutionsoperator. Dasrename
Der Befehl sucht nach diesem Muster im angegebenen Dateinamen und ersetzt es, wenn er gefunden wird, durch das Ersetzungsargument..scss
- Der Ersatz. Das zweite Argument im Substitutionsoperator.*.css
- Alle Dateien mit der Erweiterung „.css“. Platzhalter (*
) ist ein Symbol, das zur Darstellung von null, einem oder mehreren Zeichen verwendet wird.
Bevor Sie den eigentlichen Befehl ausführen und die Dateien und Verzeichnisse umbenennen, ist es immer eine gute Idee, den -n
zu verwenden Option, die einen „Trockenlauf“ durchführt und Ihnen zeigt, welche Dateien umbenannt werden:
rename -n 's/.css/.scss/' *.css
Die Ausgabe sieht in etwa so aus:
rename(file-0.css, file-0.scss)
rename(file-1.css, file-1.scss)
rename(file-2.css, file-2.scss)
rename(file-3.css, file-3.scss)
rename(file-4.css, file-4.scss)
Standardmäßig ist die rename
Der Befehl überschreibt die vorhandenen Dateien nicht. Verwenden Sie das -f
Option, die rename
mitteilt um die bestehenden Dateien zu überschreiben:
rename -f 's/.css/.scss/' *.css
Wenn Sie rename
möchten Um die Namen der erfolgreich umbenannten Dateien auszugeben, verwenden Sie -v
(ausführliche) Option:
rename -v 's/.css/.scss/' *.css
file-0.css renamed as file-0.scss
file-1.css renamed as file-1.scss
file-2.css renamed as file-2.scss
file-3.css renamed as file-3.scss
file-4.css renamed as file-4.scss
rename
Beispiele #
Nachfolgend finden Sie einige allgemeine Beispiele für die Verwendung des Umbenennungsbefehls:
Leerzeichen in Dateinamen durch Unterstriche ersetzen #
rename 'y/ /_/' *
Dateinamen in Kleinbuchstaben # umwandeln
rename 'y/A-Z/a-z/' *
Dateinamen in Großbuchstaben # umwandeln
rename 'y/a-z/A-Z/' *
Entfernen Sie .bak
aus den Dateinamen #
rename 's/\.bak$//' *.bak
Benennen Sie .jpeg
um und .JPG
Dateinamen in .jpg
#
rename 's/\.jpe?g$/.jpg/i' *
Schlussfolgerung #
Das rename
Mit dem Befehl können Sie mehrere Dateien gleichzeitig umbenennen, indem Sie reguläre Perl-Ausdrücke verwenden.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.