Wenn Sie mit Dateien in der Befehlszeile unter Linux arbeiten, ist das Umbenennen von Dateien eine der häufigsten Aufgaben, an denen Sie möglicherweise beteiligt sind. Wir haben bereits den mv-Befehl besprochen, mit dem Sie dies tun können. Und hier, in diesem Tutorial, werden wir ein weiteres solches Tool besprechen, das rename genannt wird.
Aber bevor wir damit beginnen, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf einem Ubuntu 18.04 LTS-Rechner getestet wurden.
Linux-Umbenennungsbefehl
Wie der Name schon sagt, die Umbenennung Befehl in Linux können Sie Dateien umbenennen. Es folgt die Syntax:
rename [options] expression replacement file...
Und so erklärt es die Manpage des Tools:
rename will rename the specified files by replacing the first occurrence of expression in their name by replacement.
Beachten Sie, dass Sie, wenn Sie den Umbenennungsbefehl nicht installiert haben, ihn mit dem folgenden Befehl abrufen können:
sudo apt install rename
Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine bessere Vorstellung davon vermitteln sollen, wie der Umbenennungsbefehl funktioniert.
Q1. Wie verwende ich den Umbenennungsbefehl?
Die grundlegende Verwendung ist nicht gerade einfach, muss ich sagen, aber es ist nicht schwer zu verstehen. Angenommen, Sie haben eine Datei mit dem Namen „test.txt“ und möchten sie in „new.txt“ umbenennen. Dann verwenden Sie den Umbenennungsbefehl, um dies zu tun.
rename 's/test/new/' test.txt
Q2. Wie behandelt rename symbolische Links?
Standardmäßig benennt der Befehl rename nur die Datei um, die als Eingabe übergeben wird, auch wenn es sich um einen symbolischen Link handelt. Wenn Sie jedoch möchten, dass das Tool symbolische Links nicht umbenennt, sondern stattdessen auf ihre Ziele einwirkt, verwenden Sie die Befehlszeilenoption -s.
Wenn also symlink.txt ein symbolischer Link ist, der auf root.txt zeigt, stellt der folgende Befehl sicher, dass die Umbenennungsoperation für root.txt erfolgt:
rename -s 's/root/new/' symlink.txt
Q3. Wie mache ich einen Probelauf mit Umbenennen?
Angenommen, Sie möchten nur die letzte Änderung sehen, die mit einem Umbenennungsbefehl erfolgt, ohne ihn tatsächlich auszuführen, dann verwenden Sie die Befehlszeilenoption -n. Beispielsweise der folgende Befehl:
rename -n 's/new/test/' new.txt
erzeugte die folgende Ausgabe:
rename(new.txt, test.txt)
aber new.txt nicht wirklich in test.txt umbenannt.
Q4. Wie handhabt rename das Überschreiben von Dateien?
Standardmäßig führt der Umbenennungsbefehl den Vorgang nicht aus, wenn es darum geht, eine vorhandene Datei zu überschreiben. Sie können das Tool jedoch mit der Befehlszeilenoption -f zum Überschreiben zwingen.
Beispielsweise der folgende Befehl:
rename 's/new/test/' new.txt
erzeugte die folgende Ausgabe:
new.txt not renamed: test.txt already exists
Aber wenn der Befehl -f verwendet wurde:
rename -f 's/new/test/' new.txt
Der Vorgang wurde reibungslos abgeschlossen und test.txt wurde überschrieben.
Schlussfolgerung
Der Befehl rename bietet nicht allzu viele Optionen, und wir haben hier bereits einige der wichtigsten besprochen. Nachdem Sie diese geübt haben, gehen Sie zur Manpage des Tools, um mehr darüber zu erfahren.