Um alle Dateien und Ordner in einem Verzeichnis, die Großbuchstaben enthalten, in den entsprechenden Kleinbuchstaben umzubenennen, kannst du den folgenden Befehl in einer Bash-Shell verwenden. Es wird empfohlen, dies mit Vorsicht zu tun, da es die Namen der Dateien und Ordner dauerhaft ändert.
Hier ist ein Beispiel:
find . -depth -name '*[A-Z]*' -exec rename 'y/A-Z/a-z/' {} +
Erläuterung:
find .
: Durchsucht das aktuelle Verzeichnis (.
) und alle Unterverzeichnisse.-depth
: Stellt sicher, dass die Dateien in den Unterverzeichnissen vor den Verzeichnissen selbst umbenannt werden (verhindert Probleme mit der Umbenennung von Verzeichnissen, die noch nicht bearbeitet wurden).-name '*[A-Z]*'
: Sucht nach Dateien und Verzeichnissen, deren Namen Großbuchstaben enthalten.-exec rename 'y/A-Z/a-z/' {} +
: Führt für jedes gefundene Element denrename
-Befehl aus, der die Großbuchstaben in Kleinbuchstaben umwandelt.
Wichtig:
- Stelle sicher, dass du in dem Verzeichnis bist, in dem du diese Operation durchführen möchtest.
- Erstelle ggf. vorher ein Backup der Dateien, um unerwünschte Änderungen zu vermeiden.
- Der Befehl
rename
könnte je nach Linux-Distribution unterschiedlich implementiert sein. Überprüfe, ob die oben verwendete Syntax mit deiner Version vonrename
kompatibel ist. In einigen Systemen könnte es auch nötig sein, dieprename
-Version oderrenameutils
zu verwenden.
Falls der rename
-Befehl auf deinem System nicht die gewünschte Funktionalität hat, könntest du auch eine Schleife verwenden:
for file in $(find . -name '*[A-Z]*'); do
mv "$file" "$(echo "$file" | tr 'A-Z' 'a-z')"
done
Diese Schleife findet alle Dateien und Ordner mit Großbuchstaben und benennt sie in Kleinbuchstaben um.