Fertiges Skript oder Befehl zum Umwandeln aller Dateinamen in Kleinbuchstaben?

13/01/2010 - 16:34 von Ansgar Strickerschmidt | Report spam
Hallo NG,

such ein Skript oder ein Kommando, um möglichst rekursiv alle Datei- und
Verzeichnisnamen innerhhalb eines Verzeichnisses in Kleinbuchstaben
umzuwandeln.
Bin leider selber noch nicht wirklich fit in Shell-Programmierung und mit
"sed"...
OS ist Ubuntu 8.04.3 LTS Server, Dateisystem ist ext3.

Danke für Tipps.

Ansgar

*** Musik! ***
 

Lesen sie die antworten

#1 Helmut
13/01/2010 - 16:56 | Warnen spam
Hallo, Ansgar,

Du meintest am 13.01.10:

such ein Skript oder ein Kommando, um möglichst rekursiv alle Datei-
und Verzeichnisnamen innerhhalb eines Verzeichnisses in
Kleinbuchstaben umzuwandeln.
Bin leider selber noch nicht wirklich fit in Shell-Programmierung und
mit "sed"...
OS ist Ubuntu 8.04.3 LTS Server, Dateisystem ist ext3.




Skript "machklein":

#! /bin/bash

# setzt alle Datei- und Verzeichnisnamen von Gross- in Kleinbuchstaben um
# Original von Ralf Doeblitz, 29.7.00
# abgewandelt fuer 'bash' von Helmut Hullen, 1.8.00

# noch fehlen die Sicherheitsabfragen - */bin usw. sollten nicht behandelt
# werden ...

# "." und ".." anders geprüft; Anregung von Jürgen Ilse 3.11.2003
# spaces berücksichtigt 3.11.2003

for i in $(find -maxdepth 1)
do

j=$(echo "$i" | tr 'A-Z' 'a-z' )
if [ "$i" != "$j" ]
then

# echo mv "$i" "$j" # für Testzwecke
mv "$i" "$j"


fi
done

for i in $(find -maxdepth 1 -type d ! \( -name "." -o -name ".." \) )
do
(cd "$i"; $0)
done

# end of file

#
Könnte sein, dass

tr '[A-Z]' '[a-z]'

zu ersetzen ist durch

tr '[:upper:]' '[:lower:]'

Und ich habe noch nicht ausprobiert, wie das Skript auf UTF-8 usw.
reagiert.

Viele Gruesse
Helmut

"Ubuntu" - an African word, meaning "Slackware is too hard for me".

Ähnliche fragen