Re: Dateinamen mit Leerzeichen korrekt bearbeiten
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 <ph@peter-hoffmann.com>
Reply to: