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
Bash Script zum iterativen Umbenennen von Dateien und Verzeichnissen
-
- Beiträge: 430
- Registriert: 03. Mär 2006 23:16
Hallo,
du könntest ja erstmal die betreffenden überblicken, mit einem regex der normale Zeichen ausschliesst(als Idee)
Wenn dann nur eine handvoll Sonderzeichen übrigbleibt, die vielleicht einzeln mit 'rename' umschreiben'rename' macht auch regexe.
du könntest ja erstmal die betreffenden überblicken, mit einem regex der normale Zeichen ausschliesst
Code: Alles auswählen
find ... -regex ".*[^a-zA-Z0-9-_\.].*"
Wenn dann nur eine handvoll Sonderzeichen übrigbleibt, die vielleicht einzeln mit 'rename' umschreiben
Code: Alles auswählen
find ... -regex ... -exec rename ...{} \;
mfg komsomolze