Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

virtual:blog:bash_gross-_kleinschreibung_von_dateinamen_aendern [2017/10/23 15:45] (aktuell)
Zeile 1: Zeile 1:
 +====== bash: Groß-/​Kleinschreibung von Dateinamen ändern ======
 +Beim Umzug der [[:​bi-files|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 [[wpde>​bash|Bash]] kann das viel effizienter:​ Ein kurzes Stöbern bei [[http://​www.dejanews.com|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-[[wpde>​Schleife (Programmierung)|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 [[wpde>​Pipe (Informatik)|Pipe]] an den Befehl [[http://​www.gnu.org/​software/​textutils/​manual/​textutils/​html_node/​textutils_38.html#​SEC38|tr]],​ welcher alle Großbuchstaben (//A-Z//) in Kleinbuchstaben (//a-z//) umwandelt.
 +  * Fertig!