Mit rename kann man in Dateinamen vieler Dateien gleichzeitig sehr leicht Zeichen ersetzen oder löschen.
1. Man wechselt im Terminal mit cd ins Verzeichnis mit den Dateien, die man umbenennen möchte.
2. Man gibt den Befehl ein – beispielsweise ersetzt man mit folgendem Befehl ein Leerzeichen durch einen Unterstrich:
rename 's/ /_/g' *
Der Stern am Ende des Befehls bedeutet, dass alle Dateien im aktuellen Verzeichnis beachtet werden sollen. Man könnte an seiner Stelle auch einfach ein paar Dateien aus dem Dateimanager ins Terminalfenster ziehen (wenn das Terminal es erlaubt) oder deren kompletten Pfad angeben.
Das Muster ist hier also:
rename 's/alt/neu/g' *
Gewisse Dateisysteme erlauben gewisse Zeichen in den Dateinamen nicht. Bei NTFS oder exFAT sind das:
● Doppelpunkt (:)
● Schrägstrich (/)
● Umgekehrter Schrägstrich (\)
● Fragezeichen (?)
● Anführungszeichen („)
● Senkrechter Strich (|)
● Asterisk (*)
● Kleiner als (<)
● Größer als (>)
Oft, wenn man ein ganzes Verzeichnis von einem ext4-Datenträger beispielsweise auf einen exFAT- oder NTFS-formatierten USB-Stick verschieben will, hapert es, weil irgendwo im Verzeichnis es Dateien mit solchen Zeichen im Dateinamen gibt. Abgespeicherte html-Dateien sind es meist, die hier dazwischengrätschen. Es gibt eine Fehlermeldung. Deshalb muss man diese Dateien vor dem Verschieben umbenennen, d.h. diese problematischen Zeichen entfernen oder ersetzen. Das macht man auf dem ext4-Datenträger.
Mit obigem Befehl, mit dem richtigen Problemzeichen bestückt, geht das Umbenennen bei einzelnen Dateien sehr einfach – drei Beispiele:
Das Muster ist hier gleich, aber vor das Problemzeichen gehört noch ein Backslash, ein umgekehrter Schrägstrich:
rename 's/\Problemzeichen//g' /Pfad/zur/Datei
Interessant ist der Befehl natürlich besonders deshalb, weil man ihn auf alle Dateien eines Verzeichnisses loslassen kann, ohne die fehlerhaften kennen zu müssen. Man wechselt mit cd ins Verzeichnis und wendet ihn an – statt einen Pfad wie oben setzt man einen Stern (mit Abstand davor). Rename nimmt sich die „Sünder“ selber vor. Das Umbenennen wiederholt man für jedes fragliche Zeichen. Bei abgespeicherten Webseiten sind es oft die drei Zeichen der drei Beispiele hier oben, die in den Dateinamen vorkommen – sind sie gelöscht oder ersetzt, ist das Problem meist vom Tisch.
Eine Reaktion
Mittlerweile bin ich auf einen Artikel gestossen, der den folgenden Titel trägt:
„Sonderzeichen: Dateinamen in Linux säubern“.
Darin wird kurz das Rename-Tool detox (Terminal) beschrieben, das Dateinamen sehr schnell von unerwünschten Zeichen befreit.
https://www.pcwelt.de/article/1175253/sonderzeichen-dateinamen-in-linux-saeubern.html