[linux-l] doofes bash problem

Frank Reker frank at reker.net
Mi Feb 16 16:56:25 CET 2005


Am Wed 16. Feb 2005 14:25 +0000 schrieb Tobias Schlottke:

>for foo in `ls -1 *.txt`; do echo "$foo"; done;
>tut nicht, aber:
>for foo in "`ls -1 *.txt`"; do echo "$foo"; done;
>tut. Du mußt die Argumente der for Schleife
>auch schützen.

Nein. so werden alle Dateien wie eine behandelt. 
Funktioniert also nur wenn du nur eine einzige Datei hast.

Im uebrigen funktioniert die for-Schleife nur, wenn die Anzahl der
Parameter nicht zu gross wird, ansonsten werden nicht mehr alle
Dateien bearbeitet. Besser du packst das ins find rein, wie in
meiner letzten mail beschrieben, oder packst die Schleife hinter
das find. In etwa so:

find ./ -name \*.txt -type f -print | while read foo; do echo $foo; done

-- 
Don't worry be happy ...
Ciao Frank
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20050216/7f94f402/attachment.sig>


Mehr Informationen über die Mailingliste linux-l