So benennen Sie Dateien in Linux um

Bist du neu im Linux-Betriebssystem? Falls ja, können gewöhnliche Aufgaben wie das Umbenennen von Dateien und Ordnern anders sein als das, was du gewohnt bist. Aber keine Sorge. Das Konzept des Umbenennens von Dateien in Linux ist ähnlich wie in anderen Betriebssystemen.

In diesem Tutorial lernst du viele Möglichkeiten kennen, wie du einzelne und mehrere Dateien in Linux umbenennen kannst, sowohl über die GUI als auch durch Ausführen von Befehlen in einem Terminal.

Fangen wir an!

Voraussetzungen

Um diesem Tutorial zu folgen, stelle sicher, dass du Folgendes hast:

Dateien in Linux mit dem Dateimanager umbenennen

Wenn du es gewohnt bist, Dateien über die GUI zu verwalten, beginnen wir dieses Tutorial mit dem Umbenennen von Dateien mit einem Dateimanager. GUI-Dateimanager sind praktisch, da du die Dateien direkt sehen kannst. Einer dieser Dateimanager, der in Linux verfügbar ist, ist der ehemalige Dateimanager von GNOME, Nautilus. Dieses Tutorial zeigt, wie man Dateien mit dem Nautilus-Dateimanager umbenennt.

Die anderen Dateimanager von Linux sind Konqueror, Dolphin, Krusader, Thunar, Nemo Dateimanager und Sunflower Dateimanager. Diese Dateimanager erledigen dieselbe Aufgabe, aber das Umbenennen von Dateien oder Verzeichnissen kann leicht unterschiedlich sein.

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

sudo apt install nautilus

Das Umbenennen einer einzelnen Datei

Das Umbenennen einer einzelnen Datei in Nautilus erfordert nur wenige Klicks, ähnlich 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.

In diesem Beispiel geht es um das Umbenennen von Dateien, aber der Prozess ist derselbe, um sowohl Dateien als auch Verzeichnisse umzubenennen.

Renaming a Single File

Geben Sie nun den neuen Dateinamen ein, um den ursprünglichen Dateinamen zu ersetzen, drücken Sie Enter oder klicken Sie auf Umbenennen, und das war’s.

Entering New File Name

Umbenennen mehrerer Dateien mit dem Nautilus-Dateimanager

Wie Windows bietet Ubuntu Ihnen 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 beliebige davon und wählen Sie Umbenennen. Ein Popup-Fenster wird angezeigt, in dem Sie auswählen können, wie Sie die ausgewählten Dateien umbenennen möchten.

Renaming Multiple Files Using Nautilus.

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

  • Mit einer Vorlage umbenennen – Dies ermöglicht es Ihnen, Dateien in Schritten umzubenennen.
  • Text suchen und ersetzen – Ermöglicht es Ihnen, bestimmte Texte in Dateinamen zu suchen und zu ersetzen.

Dateien mit einer Vorlage umbenennen

Um Dateien mit einer Vorlage umzubenennen, wählen Sie die Option Mit einer Vorlage umbenennen.

Geben Sie nun den Ersatznamen im leeren Feld ein, um Dateien mit einer Vorlage umzubenennen, und klicken Sie auf die Schaltfläche +Hinzufügen und wählen Sie aus den Vorlagen aus. Wählen Sie für dieses Tutorial die erste aus (1,2,3,4) und klicken Sie auf Umbenennen. Diese Option fügt jedem Dateinamen nach dem Ersatznamen fortlaufende Zahlen hinzu (Text1, Text2,…).

Renaming Files using a Template

Hinweis: Die Dateinamen wurden in Text geändert, gefolgt von aufsteigenden Zahlen.

Verifying File Names Changed to “Text” with Incrementing Num

Auffinden 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 aus.

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

Replacing Texts in File Names

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

Verifying the word “Text” was replaced with the word “File” on Each File

Dateien umbenennen mit dem mv-Befehl

Wenn das Ausführen von Befehlen Ihr Ding ist, anstatt sich in einer grafischen Benutzeroberfläche zu bewegen, bereiten Sie sich darauf vor, zu lernen, wie Sie Dateien in einem Terminal umbenennen. Das Umbenennen von Dateien im Linux-Terminal ist ähnlich wie in anderen Befehlszeilen-Umgebungen, wie zum Beispiel PowerShell. Sie führen die Befehle aus, um den Originaldateinamen durch den Zieldateinamen zu ersetzen, und das ist es.

Es gibt zwei Szenarien beim Umbenennen einer Datei. Das erste ist das Umbenennen einer Datei aus dem Arbeitsverzeichnis, und das zweite erfolgt durch Angabe des vollständigen Pfads. Werfen Sie einen Blick auf die Syntax des mv-Befehls unten, um eine Datei umzubenennen, wobei Quelle der Originalname und Ziel der Ersatzname ist.

# Eine Datei oder ein Verzeichnis im Arbeitsverzeichnis umbenennen
mv <source> <destination>
# Eine Datei durch Angabe des vollständigen Pfads umbenennen
mv <~/mydir/source> <~/mydir/destination>

Umbenennen einer einzelnen Datei mit dem mv-Befehl

Während die mv-Befehlssyntax noch frisch in Ihrem Gedächtnis ist, versuchen wir, eine einzelne Datei umzubenennen.

Um zu zeigen, wie man eine einzelne Datei und ein Verzeichnis umbenennt:

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

# Erstellen Sie ein Verzeichnis namens 'test'
mkdir test 
# Wechseln Sie in das Verzeichnis ~/test
cd test 
# Erstellen Sie Textdateien mit den Namen 'file1.txt' und 'file2.txt'
touch file1.txt file2.txt 

2. Führen Sie anschließend den ls-Befehl aus, um die Dateien im Arbeitsverzeichnis aufzulisten. Unten sehen Sie, dass file1.txt und file2.txt im Verzeichnis ~/test existieren.

Listing Files in the Working Directory

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

# Benennen Sie eine Datei im Arbeitsverzeichnis um
mv file1.txt file10.txt

# Benennen Sie eine Datei unter Angabe des vollständigen Pfads um
mv ~/test/file1.txt ~/test/file10.txt

Das Umbenennen eines Verzeichnisses ist genauso wie das Umbenennen einer Datei, wie folgt: mv ~/test ~/demo. Das Symbol ~ bezeichnet das Home-Verzeichnis.

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

Unten sehen Sie, dass file1.txt jetzt als file10.txt umbenannt ist.

Confirming file1.txt is renamed as file10.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-Schleifen-Anweisung wie die folgende verwenden.

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

# Deklariert eine Variable mit dem Wert 1
i=1 
# Durchsucht jede Textdatei im Arbeitsverzeichnis
for file in *.txt; 
# Iteriert die folgende Anweisung, bis alle Dateien durchsucht sind
do 
  # Benennt jede Datei mit "File" gefolgt von fortlaufender Nummer ($i) um
	mv -- "$file" "File$i.txt"
  # Erhöht den aktuellen Zahlenwert der Variable um 1
  i=$((i+1)) 
done

Das Einfügen des Codes in Ihr Terminal funktioniert gut, aber es ist ratsam, eine Skript Datei zu erstellen und diese auszuführen.

Unten sehen Sie, wie der Code alle Dateien umbenennt.

Renaming Files with a For Loop

Umbenennen von Dateien in Linux mit dem rename-Dienstprogramm

Wenn Sie im täglichen Ablauf eine einzelne Datei umbenennen, genügt der Befehl mv. Aber vielleicht möchten Sie mehrere Dateien mit dem gleichen Muster auf einmal umbenennen? Zum Beispiel Dateien umbenennen, die mit einem bestimmten Wort beginnen (Datei). In diesem Fall installieren Sie stattdessen das umbenennen Dienstprogramm.

Das Dienstprogramm zum Umbenennen benennt mehrere Dateien um, ändert das Dateinamenformat und überschreibt Dateien.

Um das Dienstprogramm zum Umbenennen zu installieren, führen Sie einen der folgenden Befehle aus, abhängig von der Linux-Distribution, mit der Sie arbeiten.

# Installieren Sie das Dienstprogramm zum Umbenennen mit dem apt-Paketmanager für Ubuntu, Debian und Linux Mint
sudo apt install rename
# Installieren Sie das Dienstprogramm zum Umbenennen mit dem dnf-Paketmanager für CentOS, Fedora und Red Hat
sudo dnf install prename
# Installieren Sie das Dienstprogramm zum Umbenennen mit dem pacman-Paketmanager für Arch Linux / Manjaro Linux
sudo pacman -S perl-rename

Unten finden Sie die Syntax des umbenennen Befehls.

rename <options> <perlexpr> <files>

Dateien umbenennen

Mit der Syntax des umbenennen Befehls können Sie nun Dateien umbenennen, die das gleiche Muster haben. Das Tolle am umbenennen Befehl ist, dass Sie keine Schleifenfunktion deklarieren müssen, um mehrere Dateien umzubenennen, wie Sie es im Abschnitt „Mehrere Dateien mit einer For-Schleife umbenennen“ getan haben.

Vielleicht möchten Sie Dateien mit bestimmten Wörtern darin umbenennen. Wenn ja, werfen Sie einen Blick auf den Perl-Regularausdruck ('s/file/myfile/') im Beispielbefehl unten. Perl-Regularausdrücke definieren ein Zeichenmuster basierend auf der Perl-Programmiersprache.

Um zu vermeiden, versehentlich andere Dateien umzubenennen, listen Sie alle betroffenen Dateien vor der Umbenennung auf, indem Sie die Option -n hinzufügen, wie unten gezeigt.

rename -n 's/file/myfile/' *.txt
Listing Affected Files Before Renaming

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

In dem Perl-Ausdruck ('s/file/myfile/') bezeichnet das s Substitution, was bedeutet, dass Sie Dateien umbenennen. Beachten Sie, dass die Option -v hinzugefügt wird, um anzuzeigen, welche Dateien der Befehl umbenannt hat.

# Ersetzen Sie 'file' durch 'myfile' im Namen jeder Datei im Arbeitsverzeichnis
rename -v 's/file/myfile/' *.txt
# Ersetzen Sie 'file' durch 'myfile' im Namen jeder Datei im Verzeichnis ~/test
rename -v 's/file/myfile/' ~/test/*.txt

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

Renaming a Files with the rename Command

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

Ändern von Dateierweiterungen

Außer den Dateinamen ändert der rename-Befehl auch Dateierweiterungen. 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 rename-Befehl ausführen.

Führen Sie den unten stehenden rename-Befehl aus, um die Dateierweiterung aller Dateien (*) im Verzeichnis ~/test von .txt auf .html zu ändern. Das Symbol $ im Perl-Ausdruck entspricht dem Ende eines Strings (.txt) zu jedem Dateinamen, sodass der Befehl nur die Dateierweiterungen .txt ändert. Und wie beim Umbenennen mehrerer Dateien fügen Sie die Option -v hinzu, um jede Änderung anzuzeigen, die der Befehl vornimmt.

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

Um stattdessen alle Dateierweiterungen zu entfernen, entfernen Sie den Ersatzstring im Perl-Ausdruck, so: rename -v 's/.txt$//' *.txt

Wie Sie im Bild unten sehen können, wurden die .txt-Erweiterungen zu .html geändert

Changing File Extensions from .txt to .html

Ändern von Dateinamen in Großbuchstaben und Kleinbuchstaben

Anstelle von falschen Dateierweiterungen haben Sie 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 ist.

Linux ist Groß- und Kleinschreibung beachtend, daher stellen wir sicher, dass die Groß- und Kleinschreibung jedes Dateinamens richtig ist. Die Groß- und Kleinschreibung bezeichnet grundsätzlich die Unterscheidung von Texten zwischen Klein- und Großbuchstaben.

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

# Dateiname von Kleinbuchstaben zu Großbuchstaben ändern
rename -v 'y/a-z/A-Z/' *
# Dateiname von Großbuchstaben zu Kleinbuchstaben ändern
rename -v 'y/A-Z/a-z/' *

Sie können unten beide Ergebnisse sehen, wenn ein Dateiname geändert wird.

Changing File Name from Lowercase to Uppercase and Vice Versa

Leerzeichen in Dateinamen ersetzen und entfernen

Wie bei der Groß- und Kleinschreibung von Dateinamen können Sie Probleme haben, Dateien zu finden, wenn sie Leerzeichen in ihren Dateinamen haben. Beheben Sie dies, indem Sie Leerzeichen durch ein Zeichen ersetzen oder die Leerzeichen ganz entfernen.

Führen Sie den rename-Befehl unten aus, um Leerzeichen in allen Dateinamen im Arbeitsverzeichnis durch einen Unterstrich (_) zu ersetzen. Da der Unterstrich ein Metazeichen ist, escapen Sie es mit einem Backslash (\\_), um den Unterstrich wörtlich zu deklarieren. Metazeichen sind spezielle Zeichen mit besonderen Bedeutungen in einem Computerprogramm.

Die g in Perl-Ausdruck gibt an, dass der Befehl alle Treffer (Leerzeichen) ersetzen soll, nicht nur den ersten.

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

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

Replacing spaces with underscores in a file name

Um alle Leerzeichen in einem Dateinamen zu entfernen, anstatt sie durch ein Zeichen zu ersetzen, führen Sie den folgenden Befehl aus.

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

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

Jetzt sehen Sie unten, dass alle Leerzeichen aus jedem Dateinamen entfernt sind.

Removing all spaces in filenames

Das erste Buchstaben jedes Worts in einem Dateinamen großschreiben

Wenn Sie die Leerzeichen behalten und stattdessen den ersten Buchstaben jedes Worts in einem Dateinamen großschreiben möchten, benötigen Sie einen komplexeren Perl-Ausdruck. Schauen Sie sich den Beispielbefehl unten an.

Der Perl-Ausdruck unten entspricht einem einzelnen Zeichen (\\w) in einer Wortgrenze (\\b), solange das Zeichen kein Punkt oder Apostroph ist (?<![.'\\'']). Der rename-Befehl übersetzt dann diesen Buchstaben in Großbuchstaben (u$&).

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

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

Capitalizing First Letter of Each Word in File Names

Abschluss

Während dieses Tutorials haben Sie viele Möglichkeiten gelernt, Linux-Dateien über die grafische Benutzeroberfläche und das Befehlszeilentool umzubenennen. Sie haben jetzt ein solides Verständnis dafür, wie man Namen für einzelne und mehrere Dateien auf einmal manipuliert.

Warum lernen Sie nicht das Shell-Skripting unter Linux und erstellen ein Skript, um das Umbenennen von Dateien zu automatisieren?

Source:
https://adamtheautomator.com/rename-files-in-linux/