Benutzerhandbuch: Verwenden Sie den Befehl zum Umbenennen unter Linux

Haben Sie jemals versucht, den Befehl zum Umbenennen zu verwenden? Linux ? Möchten Sie sich mit dem Kraftpaket zum Umbenennen von Dateien in der Linux-Welt auseinandersetzen und mv - und sich selbst - eine Pause gönnen? Das Umbenennen ist schnell, flexibel und einfacher. Hier ist eine detaillierte Anleitung zu diesem Kraftpaket eines Befehls.





Was läuft mit mv falsch?

Mit mv ist nichts schiefgegangen . Der Befehl leistet jedoch gute Arbeit. Sie finden es auch auf allen Linux-Distributionen, unter macOS und in anderen Unix-ähnlichen Betriebssystemen. Es ist jedoch immer verfügbar. Aber natürlich möchten Sie keine Schaufel, sondern einen Bulldozer.



Der Befehl mv hat einen Sinn im Leben, und das ist, Dateien zu verschieben. Es ist ein sicherer Nebeneffekt, dass damit eine ältere Datei verschoben werden kann in die neue Datei mit einem neuen Namen. Der Effekt besteht darin, die Datei umzubenennen, damit Sie das bekommen, was Sie wollen. Aber mv ist kein Tool zum Umbenennen von Dateien.

So benennen Sie eine einzelne Datei mit mv um

Dateien unter Linux umbenennen



Wenn Sie mv verwenden möchten Um eine Datei umzubenennen, geben Sie ein mv, Leerzeichen, den Dateinamen, das Leerzeichen und den neuen Namen, den die Datei haben soll. Drücken Sie dann die Eingabetaste.



Sie können auch ls verwenden um zu überprüfen, ob die Datei umbenannt wird oder nicht

mv rename

So benennen Sie mehrere Dateien mit mv um

Nach dem Umbenennen mehrerer Dateien werden die Dinge komplex. perl-rename kann keine verschiedenen Dateien umbenennen. Sie müssen auf einige nützliche Bash-Tricks zurückgreifen. Es ist gut, wenn Sie ein Befehlszeilen-Fu mittlerer Qualität kennen, aber die Schwierigkeit, verschiedene Dateien mit umzubenennen mv steht nur zur Benutzerfreundlichkeit mv um eine einzelne Datei umzubenennen.



Die Dinge eskalieren sofort.



Nehmen wir an, hier befindet sich ein Verzeichnis mit vielen Dateien unterschiedlichen Typs. Einige Dateien haben eine .prog Erweiterung. Wir möchten diese Dateien in der Befehlszeile umbenennen, damit sie eine haben .prg Erweiterung.

Schauen wir uns die Dateien an.

rename

Hier ist eine Methode, mit der keine tatsächliche Bash-Skriptdatei geschrieben werden kann.

rename

Hat es funktioniert oder nicht? Lassen Sie uns die Dateien überprüfen und dann fortfahren.

rename

Also funktioniert es gut. Sie alle sind es .prg Dateien jetzt, und es gibt keine .prog Dateien im Verzeichnis.

Was ist passiert?

Was hat der lange Befehl tatsächlich getan? Probieren wir es aus.

prename

Der erste Teil beginnt eine Schleife, die alle verarbeiten wird .prog Datei im Verzeichnis wiederum.

Ein anderer Teil sagt, was die Verarbeitung wird tun . Es benutzt mv um jede Datei in die neue Datei zu verschieben. Der neue Dateiname wird mit Ausnahme des .prog-Teils dem Namen der Originaldatei ziemlich ähnlich sein. Außerdem wird die Erweiterung von .prg verwendet.

Hier ist ein einfacher Weg

Ganz sicher. Hier ist die umbenennen Befehl.

Dateien unter Linux umbenennen

Es ist nicht Teil der Standard-Linux-Distribution, daher möchten Sie es installieren. Außerdem hat es in verschiedenen Linux-Familien einen anderen Namen, aber alle funktionieren auf ähnliche Weise. Sie ersetzen einfach den richtigen Befehlsnamen entsprechend dem von Ihnen verwendeten Linux-Geschmack.

In von Debian abgeleiteten oder Ubuntu-Distributionen installieren Sie einfach perl-rename so was:

*.prog

In von RedHat abgeleiteten Distributionen oder Fedora installieren Sie einfach Vorname so was. Denken Sie daran, dass das anfängliche p für Perl steht.

rename

Verwenden Sie den folgenden Befehl, um es in Manjaro Linux zu installieren. Beachten Sie, dass der Umbenennungsbefehl als s bezeichnet wird.

.prog

Verwenden Sie den Befehl zum Umbenennen -> Kommen wir noch einmal

Hier verwenden wir rename. Wir tun dies, damit wir eine Reihe von .prog-Dateien haben.

.prg

Verwenden Sie den unten angegebenen Befehl, um sie umzubenennen. Wir werden uns auch bei Ihnen erkundigen ls Befehl, ob es funktioniert hat oder nicht. Wenn Sie rename ersetzen möchten mit dem genauen Befehlsnamen für Linux, wenn Ubuntu oder ein von Debian abgeleitetes Linux nicht verwendet werden kann.

ls ls

Es funktioniert gut, jetzt sind sie alle .prg-Dateien ausgenommen .prog Dateien im Verzeichnis gelassen.

Was ist hier passiert?

Lassen Sie es uns in drei Teilen diskutieren.

In dem zuerst Teil, sehen Sie den Befehlsnamen rename (oder ls oder ls für die anderen Distributionen).

Der dritte letzte Teil ist ^, was $ erklärt um alle .prog-Dateien zu bearbeiten.

Das zweite Teil erklärt die Arbeit, die wir gerne an jedem Dateinamen machen. Die ^ bedeutet Ersatz. Der 1. Term (ls) ist was ls wird in jedem Dateinamen gesucht und der 2. Term (ls) wird durch diesen ersetzt.

wie man Nexus rootet 5x 7.1.1

Der mittlere Teil oder zentrale Ausdruck des Befehls ist ein regulärer Perl-Ausdruck und liefert das s/ befehlen seine Zuverlässigkeit.

Ändern anderer Teile eines Dateinamens

Wir haben die Dateinamenerweiterungen bisher geändert. Lassen Sie uns andere Teile der Dateinamen ändern.

Im Verzeichnis befinden sich viele C-Quellcodedateien. Allen Dateinamen wird ein Präfix vorangestellt Slang_. Wir können dies auch mit y/ überprüfen.

a-z

Hier ersetzen wir alle Vorkommen von slang_ durch sl_. Das Befehlsformat ist uns recht vertraut. Wir ändern lediglich den Suchbegriff, den Ersatzbegriff und den Dateityp.

A-Z

Hier suchen wir nach .c-Dateien und nach slang_. Immer wenn Sie slang_ in einem Dateinamen gefunden haben, wird es durch sl_ ersetzt.

Sie können das Befehlsergebnis auch überprüfen, nachdem Sie den Befehl ls wiederholt haben von oben mit den gleichen Parametern:

a-z

Teil eines Dateinamens entfernen

Wir können auch einen Teil eines Dateinamens löschen, nachdem wir den Suchbegriff durch nichts ersetzt haben.

mv oldfile.txt newfile.txt

Wir können auch von der aus sehen ls befehle, dass unsere .c Dateien werden alle mit sl_ vorangestellt. Lassen wir das ganz.

Das umbenennen Befehl folgt dem gleichen Format wie oben erwähnt. Wir werden nach .c-Dateien suchen. Der Suchbegriff lautet sl_, es gibt jedoch keinen Substitutionsbegriff. Zwei Backslashes '//' ohne Zwischenzeichen bedeuten eine leere Zeichenfolge.

ls *.txt
kann jede .c-Datei nacheinander verarbeiten. Außerdem wird im Dateinamen nach sl_ gesucht. Wenn Sie es gefunden haben, können Sie durch nichts ersetzt werden. Alternativ wird der Suchbegriff entfernt.

Eine andere Verwendung von

ls *.prog -l
Befehl bestätigt, dass das Präfix sl_ aus jeder .c-Datei gelöscht wurde.

Limit Ändert sich auf bestimmte Teile von Dateinamen

Komm, lass uns

for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
verwenden zum Anzeigen von Dateien, deren Dateiname den Zeichenfolgenparameter enthält. Dann werden wir verwenden umbenennen Befehl zum Ersetzen der Zeichenfolge über den Zeichenfolgenparameter. Auch verwenden wir ls noch einmal, um den Effekt zu sehen umbenennen Befehl hat auf diesen Dateien gehabt.

ls *.pr*
for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
sudo apt-get install rename

Sie sehen dann vier Dateien mit Stopp in ihrem Dateinamen. param.c, param_one.c und param_two.c haben alle Stopp Bei der Anfang ihres Namens. dritter_param.c hat Stopp Bei der letzte seines Namens, kurz vor der Erweiterung.

Sie können suchen umbenennen Befehl für param überall im Dateinamen. Sie können es dann in allen Fällen durch einen Parameter ersetzen.

Eine andere Verwendung von ls Befehl zeigt uns an, was genau passiert ist. Ob Stopp war am Anfang oder am Ende des Dateinamens. Sie können es auch durch ein ersetzen Parameter.

Wir können Perls Metazeichen verwenden, um das Verhalten des zentralen Ausdrucks zu reinigen. Metazeichen sind Zeichen, die Sequenzen oder Positionen von Zeichen darstellen. Zum Beispiel

sudo dnf install prename
bedeutet den Beginn einer Zeichenfolge, (.) bedeutet ein einzelnes Zeichen (außer einem Zeilenumbruchzeichen),
sudo pacman -Syu perl-rename
bedeutet Ende einer Zeichenfolge.

Außerdem verwenden wir den Anfang des Zeichenfolgen-Metazeichens (

ls *.prog
), um unsere Suche auf den Anfang der Dateinamen zu beschränken.

rename 's/.prog/.prg/' *.prog
ls *.pr*
ls sl*.c
rename 's/slang_/sl_' *.c

Die Dateien, die wir umbenannt haben, sind zuvor aufgeführt. Wir können auch anzeigen, dass sich der Zeichenfolgenparameter am Anfang von 3 Dateinamen befindet und sich am Ende eines der Dateinamen befindet.

Unsere umbenennen Der Befehl verwendet den Anfang des Zeilen-Metazeichens (^) vor dem Suchbegriff-Parameter. Es wird erklärt, nur den zu findenden Suchbegriff zu berücksichtigen, wenn er am Anfang des Dateinamens steht. Der Suchzeichenfolgenparameter wird vermieden, wenn er sich an einer anderen Stelle im Dateinamen befindet.

Wenn wir mit

ls sl*.c
schauen, können wir sehen, dass der Dateiname den Parameter am hat letzte des Dateinamens wurde nicht geändert. Aber die drei Dateinamen haben Parameter an der Anfang von ihren Namen, wobei die Suchzeichenfolge durch den Ersatzbegriff ersetzt wird.

Das umbenennen Macht liegt in der Macht von Perl.

Mit Gruppierungen suchen

In diesem Fall haben Sie wahrscheinlich Dateien mit denselben Zeichenfolgen im Namen. Sie sind nicht genau den gleichen Zeichenfolgen ähnlich, daher suchen Sie nur nach und eine Ersetzung kann hier nicht funktionieren.

In diesem Beispiel verwenden wir

ls *.c rename 's/sl_//' *.c ls *.c
um zu sehen, welche Dateien wir haben, beginnt das mit str. Es gibt auch zwei davon, string.c und strangle.c. Wir können beide Zeichenfolgen auch umbenennen, nachdem wir eine als Gruppierung bekannte Methode verwendet haben.

Der mittlere Ausdruck der umbenennen Der Befehl sucht nach Zeichenfolgen in Dateinamen mit der Zeichenfolge stri oder stra. Hier folgt auf diese Sequenzen ng. Alternativ sucht unser Suchbegriff nach Zeichenfolge und seltsam. Der Substitutionsbegriff lautet Knall.

ls *param*
rename 's/param/parameter' *.c
ls *param*

Nach der Verwendung von

ls *param*.c
Ein anderes Mal wird bestätigt, dass string.c zu einem bang.c geworden ist und strangle.c jetzt bangle.c ist.

Verwenden Sie den Befehl zum Umbenennen mit Übersetzungen

Das umbenennen Der Befehl führt alle Aktionen für Dateinamen aus, die als Übersetzungen bezeichnet werden. Hier ist ein Beispiel für eine Übersetzung, bei der eine Reihe von Dateinamen in Großbuchstaben geschrieben wird.

In dem umbenennen Der unten angegebene Befehl weist darauf hin, dass wir kein

rename 's/^parameter/value/' *.c
verwenden Um den mittleren Ausdruck zu beginnen, verwenden wir
ls *param*.c
. Es wird erklärt, dass der Befehl keine Ersetzung durchführen kann. Wir führen eine Übersetzung durch.

Der Begriff

ls value*.c
ist ein Perl-Ausdruck. Dies bedeutet, dass alle Kleinbuchstaben in der Reihenfolge von a bis z. Aber der Begriff
ls str*.c
repräsentiert alle Großbuchstaben in der Reihenfolge von A bis Z.

Der mittlere Ausdruck in diesem Befehl kann so umschrieben werden, als ob der Dateiname einen der Kleinbuchstaben von a bis z enthält. Es ersetzt sie durch die entsprechenden Zeichen aus der Reihenfolge der Großbuchstaben von A bis Z.

Wenn Sie die Dateinamen aller PRG-Dateien in Großbuchstaben erzwingen möchten, verwenden Sie einfach diesen Befehl:

Benennen Sie 'y / a-z / A-Z /' * .prg um

rename 's/(stri|stra)ng/bang/' *.c

Der Befehl

ls ban*.c
Zeigen Sie uns, dass alle .prg Erweiterungsdateien sind jetzt in Großbuchstaben. Um genau zu sein, sind sie es auch nicht .prg Dateien mehr. Nun, es handelt sich um PRG-Dateien. Stellen Sie sicher, dass bei Linux zwischen Groß- und Kleinschreibung unterschieden wird.

Wir können diesen letzten Befehl auch umkehren, nachdem wir zur Position von

ls *.PRG
zurückgekehrt sind und A-Z-Terme im mittleren Ausdruck.

Benennen Sie 'y / A-Z / a-z /' * .PRG um

ls * .prg

Sie können Perl nicht in fünf Minuten lernen

Perl in den Griff zu bekommen, ist gut investierte Zeit. Aber um die zeitsparenden Funktionen des zu nutzen umbenennen Befehl, Sie sehen nicht viel Perl-Wissen, um große Leistungsvorteile zu erzielen.

Fazit:

Hier erfahren Sie alles über 'Befehl zum Umbenennen unter Linux verwenden'. Wie stehen Sie dazu? Wenn Sie andere Methoden oder Tipps zum Artikel teilen möchten, teilen Sie uns dies unten mit. Für weitere Fragen und Fragen lassen Sie es uns im Kommentarbereich unten wissen!

Lesen Sie auch: