Hallo, Peter Wiersig:
Du nimmst perl um die Dateiliste herzustellen... kannst du nicht einfach perls rename function benutzen, um den Dateinamen zu veraendern?
Oder willst du ein Shell-Skript erzeugen?
ls -Q faellt mir noch ein.
Ich erkläre am Besten mal, was ich möchte. Ich setze gerade meine Fontverwaltung von Windows auf Linux um (www.gesindel.de). Verwendet wird perl und MySQL. Eine Fähigkeit des Programms besteht darin, aus einem TrueType-Font seinen Namen auszulesen und die Datei entsprechend umzubenennen. Streng nach Norm unterliegen die Dateinamen von TrueType-Fonts unter Windows immer noch der DOS(!)-Dateinamenkonvention. Daher heissen die meisten Schriften zum Beispiel "GARABI.TTF" statt "Garamond Bold Italic.ttf" Da die meisten Fonts "für Windows" gebastelt werden, betrifft das auch die Linuxer. Die Funktionen meines Programms möchte ich als include-Dateien veröffentlichen, damit sich auch andere bedienen können. So, nun gibt es aber Schriften, die heissen, warum auch immer, z.B. "Sabon*Bold". Mit Sternchen drin. Ich selbst werde in meinem Code filtern und den Font "Sabon_Bold.ttf" nennen. Ich möchte aber, das meine Subroutinen generell dazu in der Lage sind, auch mit Namen mit * ? | umzugehen. Ich hatte gehofft, es gäbe sowas wie "quotemeta()" in PHP. Man kann beliebige Strings damit behandeln und es kommt was "sicheres" dabei raus. Es sieht aus, als müsse ich mir da eine RE selber basteln. 8:-( Eigentlich fühle ich mich dafür gar nicht sicher genug. Gibt es irgendwo eine Liste aller "relevanten" Zeichen, die in sowas wie `mv $a $b` nicht vorkommen dürfen? Mir fällt dazu jetzt ein: * ? [ ] { } > < | " ` ' ' ~ ...ohje, das ist ja fast alles zwischen ASCII 33 und 64. Was mich wundert: Ich hatte eigentlich eine Fehlermeldung erwartet, wenn ich das hier machen: touch a\"b # Datei erzeugen die heisst a"b ...und dann ein Script starte, das so aussieht: a=`find ./ -name "a*"` echo $a mv "$a" "safename" Ich hatte erwartet, mv "$a" "safename" würde expandiert zu mv "a"b" "safename" und somit eine Fehlermeldung verursachen... Verdammt! Immer wenn man denkt, man hätte es kapiert! =%-) Gruß, Ratti -- http://www.gesindel.de | Fontlinge | Die Schriftenverwaltung für Windows