Am Mo, den 19.04.2004 schrieb Thilo Engelbracht um 11:24: > Hallo Liste! > > Heute habe ich mir ein kleines Skript erstellt (Beispiel): > > #!/bin/bash > > verzeichnis="/home/thilo/Data" > > for datei in `ls -A $verzeichnis` > do > if [ -f $verzeichnis/$datei -a -r $verzeichnis/$datei ] > then > # hier wird die Datei weiterverarbeitet > # ... > # ... > fi > done > > > Anschliessend habe ich zu Testzwecken einige Dateien angelegt: > > echo "abc" > /home/thilo/Data/datei-1 > echo "xyz" > /home/thilo/Data/datei-2 > echo "012" > "/home/thilo/Data/datei 3" > echo "789" > "/home/thilo/Data/datei 4" > > > Mein Problem: Es werden nur die Dateien verarbeitet, die kein > Leerzeichen enthalten. > > Wie muß ich (Newbie!) mein Skript ändern, dass alle Dateien in dem > Verzeichnis beachtet werden? >
Hallo Thilo, du musst vor der Schleife folgendes einfügen: IFS=" " Damit wird als Trennzeichen Newline verwendet (mehr siehe man bash). Gruss -- Peter Hoffmann <[EMAIL PROTECTED]>