Bash Script zum iterativen Umbenennen von Dateien und Verzeichnissen

Post Reply
Message
Author
tla-wedel
Posts: 1
Joined: 09. Mar 2007 15:08

Bash Script zum iterativen Umbenennen von Dateien und Verzeichnissen

#1 Post by tla-wedel »

Hallo,
ich will ein bash-Script schreiben, mit dem ich iterativ durch einen Verzeichnisbaum marschiere und
aus allen Verzeichnis- _und_ Dateinamen Sonder-, Leer- und "sonstige-Windoof"-Zeichen ersetzen kann.

Damit bekäme ich die Dateien eines Verzeichnisses in eine Zeile

for x in *.txt; do echo -n $x; echo -ne '\000'; done | cat


Wie bekomme ich da jetzt die Sonderzeichen raus?
Wie komme ich an die Verzeichnisse?
Bin ich der Erste, der dieses Problem hat? Im Forum habe ich nichts entsprechendes gefunden.

Freue mich auf Resonanz.

Tobi

komsomolze
Posts: 430
Joined: 03. Mar 2006 23:16

#2 Post by komsomolze »

Hallo,

du könntest ja erstmal die betreffenden überblicken, mit einem regex der normale Zeichen ausschliesst

Code: Select all

find ... -regex ".*[^a-zA-Z0-9-_\.].*"
(als Idee)

Wenn dann nur eine handvoll Sonderzeichen übrigbleibt, die vielleicht einzeln mit 'rename' umschreiben

Code: Select all

find ... -regex ... -exec rename ...{} \;
'rename' macht auch regexe.
mfg komsomolze

Post Reply