Adam the Automator

Sind Sie neu im Linux-Betriebssystem? Wenn ja, können allgemeine Aufgaben wie das Umbenennen von Dateien und Ordnern anders sein als Sie es gewohnt sind. Aber ärgere dich nicht. Das Konzept des Umbenennens von Dateien in Linux ähnelt dem in anderen Betriebssystemen.

In diesem Tutorial lernen Sie viele Möglichkeiten kennen, einzelne und mehrere Dateien in Linux umzubenennen, sowohl über die grafische Benutzeroberfläche als auch über die Ausführung von Befehlen in einem Terminal.

Los geht’s!

Inhaltsverzeichnis

Voraussetzungen

Stellen Sie sicher, dass Sie über Folgendes verfügen, um dieses Tutorial zu befolgen:

  • Dieses Tutorial verwendet Ubuntu 18.04 LTS, aber andere Linux-Distributionen funktionieren.
  • Ein Konto mit Sudo/Administratorzugriff.

Umbenennen von Dateien mit dem Dateimanager

Wenn Sie es gewohnt sind, Dateien über eine grafische Benutzeroberfläche zu verwalten, beginnen wir mit diesem Lernprogramm, um Dateien mit einem Dateimanager umzubenennen. GUI-Dateimanager sind ordentlich, da Sie die Dateien in plain Sight sehen können. Einer dieser in Linux verfügbaren Dateimanager ist Gnomes ehemaliger Dateimanager Nautilus. Dieses Tutorial zeigt das Umbenennen von Dateien mit dem Nautilus-Dateimanager.

Die anderen Dateimanager von Linux sind Konqueror, Dolphin, Krusader, Thunar, Nemo File Manager und Sunflower File Manager. Diese Dateimanager führen dieselbe Aufgabe aus, das Umbenennen von Dateien oder Verzeichnissen kann jedoch geringfügig abweichen.

Starten Sie Ihr Terminal und führen Sie den folgenden Befehl aus, um Nautilus (install nautilus) mit dem apt Paketmanager zu installieren, falls Sie es noch nicht auf Ihrem Computer haben. Der Befehl sudo erhöht den Befehl mit sudo / Administratorrechten.

sudo apt install nautilus

Umbenennen einer einzelnen Datei

Das Umbenennen einer einzelnen Datei in Nautilus dauert nur wenige Klicks, wie im Windows-Datei-Explorer.

Um eine einzelne Datei umzubenennen, öffnen Sie Nautilus, klicken Sie mit der rechten Maustaste auf die Datei, die Sie umbenennen möchten, und wählen Sie Umbenennen, wie unten gezeigt.

Dieses Beispiel konzentriert sich auf das Umbenennen von Dateien, aber der Prozess ist derselbe, um Dateien und Verzeichnisse umzubenennen.

 Umbenennen einer einzelnen Datei
Umbenennen einer einzelnen Datei

Geben Sie nun den neuen Dateinamen ein, um den ursprünglichen Dateinamen zu ersetzen, drücken Sie die Eingabetaste oder klicken Sie auf Umbenennen.

 Neuen Dateinamen eingeben
Neuen Dateinamen eingeben

Umbenennen mehrerer Dateien mit Nautilus File Manager

Wie Windows bietet Ubuntu mehr Optionen, wie Sie mehrere Dateien gleichzeitig umbenennen möchten.

Um mehrere Dateien umzubenennen, wählen Sie alle Dateien aus, die Sie umbenennen möchten, klicken Sie mit der rechten Maustaste auf eine davon und wählen Sie Umbenennen. Es erscheint ein Popup-Fenster, in dem Sie auswählen können, wie Sie die ausgewählten Dateien umbenennen möchten.

 Umbenennen mehrerer Dateien mit Nautilus.
Umbenennen mehrerer Dateien mit Nautilus.

Im Folgenden stehen zwei Optionen zur Auswahl, je nachdem, wie Sie die ausgewählten Dateien umbenennen möchten.

  • Umbenennen mithilfe einer Vorlage – Hiermit können Sie Dateien schrittweise umbenennen.
  • Text suchen und ersetzen – Ermöglicht das Suchen und Ersetzen bestimmter Texte in Dateinamen.

Umbenennen von Dateien mithilfe einer Vorlage

Um Dateien mithilfe einer Vorlage umzubenennen, wählen Sie die Option Umbenennen mithilfe einer Vorlage.

Geben Sie nun den Ersatznamen in das leere Feld ein, um Dateien mit einer Vorlage umzubenennen, und klicken Sie auf die Schaltfläche +Hinzufügen und wählen Sie aus den Vorlagen. Wählen Sie für dieses Lernprogramm das erste aus (1,2,3,4) und klicken Sie auf Umbenennen. Diese Option fügt jeder Datei nach dem Ersetzungsdateinamen (Text1, Text2, …) inkrementierende Zahlen hinzu.

 Umbenennen von Dateien mithilfe einer Vorlage
Umbenennen von Dateien mithilfe einer Vorlage

Beachten Sie, dass die Dateinamen in Text geändert wurden, gefolgt von inkrementierenden Zahlen.

 Überprüfen von Dateinamen, die mit inkrementierter Num in "Text" geändert wurden
Überprüfen von Dateinamen, die mit inkrementierter Num in „Text“ geändert wurden

Suchen und Ersetzen von Wörtern in den Dateinamen

Um mehrere Dateien mit einem bestimmten Dateinamen umzubenennen, wählen Sie die Option Text suchen und ersetzen.

Geben Sie den Text in das Feld Vorhandener Text und den Ersetzungstext in das Feld Ersetzen durch ein, und klicken Sie dann auf Umbenennen, um den Text zu ersetzen. Diese Option findet und ersetzt bestimmte Texte in Dateinamen.

 Ersetzen von Texten in Dateinamen
Ersetzen von Texten in Dateinamen

Nun können Sie unten sehen, dass Sie das Wort „Text“ in jedem Dateinamen durch „Datei“ ersetzt haben.

 Überprüfen, ob das Wort "Text" in jeder Datei durch das Wort "Datei" ersetzt wurde
Überprüfen, ob das Wort „Text“ in jeder Datei durch das Wort „Datei“ ersetzt wurde

Umbenennen von Dateien mit dem mv-Befehl

Wenn Sie Befehle ausführen möchten, anstatt in einer GUI zu navigieren, sollten Sie lernen, wie Sie Dateien in einem Terminal umbenennen. Das Umbenennen von Dateien im Linux-Terminal ähnelt dem Umbenennen in anderen Befehlszeilenumgebungen wie PowerShell. Sie führen die Befehle aus, um den ursprünglichen Dateinamen mit dem Zieldateinamen umzubenennen, und das war’s.

Beim Umbenennen einer Datei gibt es zwei Szenarien. Die erste besteht darin, eine Datei aus dem Arbeitsverzeichnis umzubenennen, und die zweite besteht darin, den vollständigen Pfad anzugeben. Schauen Sie sich die folgende mv -Befehlssyntax an, um eine Datei umzubenennen, wobei source der ursprüngliche Name und destination der Ersatzname ist.

# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>

Umbenennen einer einzelnen Datei mit dem Befehl mv

Während die Syntax des Befehls mv noch frisch ist, versuchen wir, eine einzelne Datei umzubenennen.

Um zu demonstrieren, wie eine einzelne Datei und ein Verzeichnis umbenannt werden:

1. Starten Sie Ihr Terminal und führen Sie die folgenden Befehle aus, um ein Verzeichnis und zwei Textdateien zu erstellen.

# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt 

2. Führen Sie als Nächstes den Befehl ls aus, um die Dateien im Arbeitsverzeichnis aufzulisten. Unten sehen Sie diese Datei1.txt und datei2.txt im Verzeichnis ~/test vorhanden.

 Dateien im Arbeitsverzeichnis auflisten
Dateien im Arbeitsverzeichnis auflisten

3. Führen Sie einen der folgenden mv -Befehle aus, um file1.txt in file10.txt umzubenennen.

# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt

Das Umbenennen eines Verzeichnisses entspricht dem Umbenennen einer Datei wie folgt: mv ~/test ~/demo . Das ~-Symbol kennzeichnet das Home-Verzeichnis.

4. Führen Sie schließlich den Befehl ls erneut aus, um die Dateien im Arbeitsverzeichnis aufzulisten.

Unten sehen Sie diese Datei1.txt wird jetzt in file10 umbenannt.txt.

 Datei bestätigen1.txt wird in file10 umbenannt.txt
Datei bestätigen1.txt wird in file10 umbenannt.txt

Umbenennen mehrerer Dateien mit einer For-Schleife

Wenn Sie zu beschäftigt mit anderen Aufgaben sind und alle Dateien auf einmal umbenennen möchten, müssen Sie eine for-Loop-Anweisung wie die folgende verwenden.

Kopieren Sie den folgenden Code unverändert, fügen Sie ihn in Ihr Terminal ein und drücken Sie die Eingabetaste. Der folgende Code durchsucht jede Textdatei im Arbeitsverzeichnis und benennt die Dateien mit „Datei“ gefolgt von einer inkrementierenden Nummer um.

# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done

Das Einfügen des Codes in Ihr Terminal funktioniert einwandfrei, aber als bewährte Methode ist es besser, wenn Sie stattdessen eine Skriptdatei erstellen, die ausgeführt werden soll.

Unten sehen Sie in Aktion, wie der Code alle Dateien umbenennt.

 Umbenennen von Dateien mit einer For-Schleife
Umbenennen von Dateien mit einer For-Schleife

Umbenennen von Dateien in Linux mit dem Umbenennungsprogramm

Wenn Sie eine einzelne Datei in Ihrer täglichen Routine umbenennen, reicht der Befehl mv aus. Aber vielleicht möchten Sie mehrere Dateien mit demselben Muster gleichzeitig umbenennen? Zum Beispiel Umbenennen von Dateien, die mit einem bestimmten Wort (Datei) beginnen. Installieren Sie in diesem Fall stattdessen das Dienstprogramm Umbenennen.

Das Dienstprogramm Umbenennen benennt mehrere Dateien um, ändert Dateinamenformate und überschreibt Dateien.

Um das Dienstprogramm Umbenennen zu installieren, führen Sie je nach Linux-Distribution, an der Sie arbeiten, einen der folgenden Befehle aus.

# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename

Sie können unten die rename Befehlssyntax sehen.

rename <options> <perlexpr> <files>

Umbenennen mehrerer Dateien

Unter Berücksichtigung der rename -Befehlssyntax können Sie jetzt Dateien mit demselben Muster umbenennen. Das Tolle am Befehl rename ist, dass Sie keine Schleifenfunktion deklarieren müssen, um mehrere Dateien umzubenennen, wie Sie es im Abschnitt „Umbenennen mehrerer Dateien mit einer For-Schleife“ getan haben.

Vielleicht möchten Sie Dateien mit bestimmten Wörtern umbenennen. Wenn ja, schauen Sie sich den regulären Perl-Ausdruck ('s/file/myfile/') im folgenden Beispielbefehl an. Reguläre Perl-Ausdrücke definieren ein Zeichenfolgenmuster, das auf der Programmiersprache Perl basiert.

Um ein versehentliches Umbenennen anderer Dateien zu vermeiden, listen Sie alle betroffenen Dateien auf, bevor Sie sie umbenennen, indem Sie die Option -n hinzufügen (siehe unten).

rename -n 's/file/myfile/' *.txt
 Betroffene Dateien vor dem Umbenennen auflisten
Betroffene Dateien vor dem Umbenennen auflisten

Führen Sie nun einen der folgenden rename -Befehle aus, um das Wort file durch myfile im Namen jeder Textdatei im Arbeitsverzeichnis oder im Verzeichnis ~/test/*.txt zu ersetzen.

Im Perl-Ausdruck ('s/file/myfile/') bezeichnet s die Ersetzung, was bedeutet, dass Sie Dateien umbenennen. Beachten Sie, dass die Option -v hinzugefügt wurde, um zurückzugeben, welche Dateien der Befehl umbenannt hat.

# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt

Unten sehen Sie, dass jedes „Datei“ -Wort in den Textdateien in „myfile“ umbenannt wird.“

 Umbenennen von a-Dateien mit dem Befehl rename
Umbenennen von a-Dateien mit dem Befehl rename

Wenn Sie stattdessen alle Dateien umbenennen möchten, entfernen Sie die Dateierweiterung, wenn Sie beispielsweise den Dateipfad angeben, rename -v 's/file/myfile/' ~/test/*

Dateierweiterungen ändern

Neben Dateinamen benennt der Befehl rename auch Dateierweiterungen um. Möglicherweise haben Sie Dateien mit der falschen Dateierweiterung erstellt. In diesem Fall geben Sie die zu ändernde Dateierweiterung in einem Perl-Ausdruck an, wenn Sie den Befehl rename ausführen.

Führen Sie den folgenden Befehl rename aus, um die Erweiterung aller Dateien (*) im Verzeichnis ~/test von .txt in .html zu ändern. Das $ -Symbol im Perl-Ausdruck stimmt mit dem Ende einer Zeichenfolge (.txt) mit jedem Dateinamen überein, sodass der Befehl nur die .txt -Dateierweiterungen ändert. Fügen Sie wie beim Umbenennen mehrerer Dateien die Option -v hinzu, um jede Änderung aufzulisten, die der Befehl vornimmt.

rename -v 's/.txt$/.html/' *.txt

Um stattdessen alle Dateierweiterungen zu entfernen, entfernen Sie die Ersetzungszeichenfolge im Perl-Ausdruck wie folgt: rename -v 's/.txt$//' *.txt

Wie Sie im Bild unten sehen, das .txt-Erweiterungen geändert .HTML-code

 Ändern von Dateierweiterungen aus .txt zu .html
Ändern von Dateierweiterungen aus .txt zu .HTML-code

Ändern von Dateinamen in Groß- und Kleinbuchstaben

Anstelle falscher Dateierweiterungen haben Sie es möglicherweise mit Dateinamen in Kleinbuchstaben zu tun und umgekehrt. Möglicherweise versuchen Sie, eine Datei speziell in Großbuchstaben zu finden, ohne zu wissen, dass der Dateiname in Kleinbuchstaben geschrieben ist.

Linux unterscheidet zwischen Groß- und Kleinschreibung, also stellen wir sicher, dass Sie die Groß- und Kleinschreibung jedes Dateinamens richtig stellen. Großbuchstaben sind im Grunde die Unterscheidung von Texten zwischen Klein- und Großbuchstaben.

Führen Sie einen der folgenden rename -Befehle aus, um alle Dateinamen in Kleinbuchstaben (a-z) im Arbeitsverzeichnis (*) in Großbuchstaben (A-Z) zu ändern und umgekehrt.

# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *

Sie können unten beide Ergebnisse des Änderns eines Dateinamensbuchstabens sehen.

 Ändern des Dateinamens von Kleinbuchstaben in Großbuchstaben und umgekehrt
Ändern des Dateinamens von Kleinbuchstaben in Großbuchstaben und umgekehrt

Ersetzen und Entfernen von Leerzeichen in Dateinamen

Wie bei einem Dateinamen können Sie Probleme haben, Dateien zu finden, wenn ihre Dateinamen Leerzeichen enthalten. Lassen Sie uns das beheben, indem Sie entweder Leerzeichen durch ein Zeichen ersetzen oder die Leerzeichen ganz entfernen.

Führen Sie den folgenden Befehl rename aus, um Leerzeichen in allen Dateinamen durch einen Unterstrich (_) im Arbeitsverzeichnis zu ersetzen. Da der Unterstrich ein Metazeichen ist, maskieren Sie ihn mit einem Backslash (\_ ), um den Unterstrich wörtlich zu deklarieren. Metazeichen sind Sonderzeichen mit besonderer Bedeutung in einem Computerprogramm.

Hinweis Das g im Perl-Ausdruck weist den Befehl an, alle Übereinstimmungen (Leerzeichen) zu ersetzen, und nicht nur das erste.

rename -v 's/ /\_/g' *

Unten sehen Sie, dass der Befehl alle Leerzeichen durch Unterstriche ersetzt hat.

 Ersetzen von Leerzeichen durch Unterstriche in einem Dateinamen
Ersetzen von Leerzeichen durch Unterstriche in einem Dateinamen

Führen Sie den folgenden Befehl aus, um alle Leerzeichen in einem Dateinamen zu entfernen, anstatt sie mit einem Zeichen zu füllen.

Im folgenden Perl-Ausdruck entspricht das Sternchen nach dem Leerzeichen (/ *) allen Vorkommen von Leerzeichen in einem Dateinamen und nicht nur dem ersten. Das Ersetzungszeichen ist leer (//), daher entfernt der Befehl rename alle (g) Leerzeichen.

rename -v "s/ *//g" *

Jetzt können Sie unten sehen, dass alle Leerzeichen aus jedem Dateinamen entfernt werden.

 Entfernen aller Leerzeichen in Dateinamen
Entfernen aller Leerzeichen in Dateinamen

Großschreibung des ersten Buchstabens jedes Wortes in einem Dateinamen

Wenn Sie es vorziehen, die Leerzeichen beizubehalten und stattdessen den ersten Buchstaben jedes Wortes in einem Dateinamen groß zu schreiben, benötigen Sie einen komplexeren Perl-Ausdruck. Schauen Sie sich den Beispielbefehl unten an.

Der folgende Perl-Ausdruck entspricht einem einzelnen Zeichen (\w) in einer Wortgrenze (\b), solange das Zeichen weder ein Punkt noch ein Apostroph ist (?<!). Der Befehl rename übersetzt diesen Buchstaben dann in Großbuchstaben (u$&).

rename -v 's/(?<!)\b\w*/\u$&/g' *

Unten sehen Sie, dass jedes Wort in den Dateinamen mit einem Großbuchstaben beginnt, während die Dateierweiterungen unberührt bleiben.

 Großschreibung des ersten Buchstabens jedes Wortes in Dateinamen
Großschreibung des ersten Buchstabens jedes Wortes in Dateinamen

Fazit

In diesem Tutorial haben Sie viele Möglichkeiten gelernt, Linux-Dateien über GUI und Befehlszeilenterminal umzubenennen. Sie haben jetzt ein solides Verständnis dafür, wie Sie Namen für einzelne und mehrere Dateien gleichzeitig bearbeiten können.

Warum nicht Linux Shell Scripting lernen und ein Skript erstellen, um das Umbenennen von Dateien in Linux zu automatisieren?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.