Datum: 2001-05-27
Quelle: suse-linux
Der Befehl mmv (multiple move) kann viele Aufgaben erledigen, die sonst nur über ein Script zu steuern
wären. Die folgende Schleife realisiert jedoch das Umbenennen von Dateinamen mit Großbuchstaben in Kleinbuchstaben, ohne Dateien mit
gleichem Namen zu überschreiben.
Wenn es nicht nur die deutschen Umlaute sein sollen, die gefunden werden, dann kann man sich ein Pattern wie im 2. Teil des Codes
basteln.
test "*[A-ZÄÖÜ]*" = '*[A-ZÄÖÜ]*' && exit 0 for i in *[A-ZÄÖÜ]* ; do n="`echo \"$i\" | tr [:lower:] [:upper:]`" test -f "$n" && echo "$n gibt es schon / already exists" || mv "$i" "$n" done # Muster fuer alle Sonderzeichen / pattern for all special characters pattern=A-Z for i in `seq 161 255`; do oct=`printf "%c%03o" "\\\" $i` pattern=$pattern`echo -e "$oct"` done for i in *[$pattern]*; do # usw. siehe oben / go on like shown above
Der vorauseilende test soll den Fall abfangen, dass es unter Umständen gar keine zum Suchmuster passende Datei gibt. Das Script stammt noch aus Vor-UTF8-Zeiten, kann also so nur mit ISO-Zeichensätzen umgehen.