bash: Groß-/Kleinschreibung von Dateinamen ändern
Beim Umzug der BI-Liste stieß ich auf ein Problem: der Mediamanager meines cms erkennt nur Dateinamen in Kleinschreibung. In den Dateinamen der Liste treten Groß- und Kleinbuchstraben jedoch bunt gemixt auf. Also was tun? Mehr als 100 Dateinamen im Windows-Explorer umbenennen? Nö. Die Bash kann das viel effizienter: Ein kurzes Stöbern bei dejanews brachte die (für mich) verblüffend einfache Lösung.
Die Lösung
for f in *; do mv $f "$(echo "$f" | tr A-Z a-z)"; done
Ein paar Details
Zwischen
for und
done wird eine so genannte for-
Schleife definiert
Die Schleife läuft für jede gefundene Datei (*) einmal durch und speichert deren Namen jeweils in der Variablen $f.
Jede Datei wird mittels mv umbenannt und zwar von $f nach „$(echo „$f“ | tr A-Z a-z)“.
Letzterer Ausdruck sendet den Dateinamen (
echo $f) per
Pipe an den Befehl
tr, welcher alle Großbuchstaben (
A-Z) in Kleinbuchstaben (
a-z) umwandelt.
Fertig!