Dateiendungen in Kleinbuchstaben umwandeln

Des öfteren erhalte ich von Kollegen oder Kunden Dateien mit Großbuchstaben im Dateiname.
Da ich bei Websites gerne Dateinamen verwende, die komplett kleingeschrieben sind, benötigte ich einen Arbeitsschritt der mir das automatisch erledigte (mit automatisch meine ich nicht einen Praktikant ;-)).  Dank Linux und der mächtigen Bash lässt sich diese Aufgabe einfach lösen.
Folgendes Bash-Kommando wandelt die Dateiendung JPG in Kleinbuchstaben um:

for f in *.jpg; do mv $f `basename $f .jpg`.JPG; done;

Soll der komplette Dateiname kleingeschrieben werden, hilft folgendes Kommando:

ls | awk '{print "mv "$0" "tolower($0)}' | sh

Um rekursiv auch Unterordner zu beachten nimmt man dieses Kommando:

for dir in $(find -depth -type d | grep -v ^.$); do mv -v "$dir" $(dirname "$dir")/$(echo $(basename "$dir") | tr '[:upper:]' '[:lower:]') ; done;

Möglicherweise gibt es auch noch kürzere Kommandos…hat jemand Tipps?

 

Andreas Becker

 

Ein Gedanke zu „Dateiendungen in Kleinbuchstaben umwandeln

  1. Anfängerglück:

    [code]for a in `find -name „*.JPG“`; do mv $a ${a%.JPG}.jpg; done[/code]

    Sogar mit dem Luxus einer Rückmeldung noch kurz:

    [code]for a in `find -name „*.JPG“`; do mv $a ${a%.JPG}.jpg; echo „Datei $a wurde geändert“; done[/code]

    Liebe Grüsse vom Praktikant

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.