
On Thu, 15 Oct 2009, 14:23:22 +0200, Al Bogner wrote:
Ich habe in einem Bash-Script eine ganze Menge an Befehlen dieser Art. Das funktioniert, solange die Dateinamen keine Leerzeichen enthalten und das ist bis auf ein paar Ausnahmen immer der Fall. David hat ja im Thread "basename(?) und Variable in Dateinamen einfügen" vom 27 Sep 2009 19:05:27 bereits auf die Problematik hingewiesen. Gibt es dafür (Leerzeichen im Dateinamen) eine Lösung in _1_ Zeile?
find "$PFAD" -type d -print0 | xargs -r -0 chmod 775 find "$PFAD" -type f -print0 | xargs -r -0 chmod 664
aeh, vielleicht stehe ich ja auf dem Schlauch, aber du hast da doch schon selber die Loesung beschrieben! Mit dem "-print0" erreichst du doch gerade, dass der Delimiter zwischen gefundenen Argumenten das '\0' Byte ist (und nicht irgendwelcher Whitespace wie das Leerzeichen oder eine neue Zeile), das wiederum xargs mit dem "-0" Switch entsprechend wieder an die aufzurufenden Programme als *ein* Argument uebergeben kann. Funktioniert hier jedenfalls voellig problemlos: $ mkdir "a b" $ touch "a b/1 2" $ find "." -type d -print0 | xargs -r -0 ls -ld drwxrwxrwt 3 manfred users 16 Oct 15 19:41 . drwxr-xr-x 2 manfred users 16 Oct 15 19:42 ./a b $ find "." -type f -print0 | xargs -r -0 ls -ld -rw-r--r-- 1 manfred users 0 Oct 15 19:42 ./a b/1 2 Wo ist das Problem?
Al
Cheers. l8er manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org