Bash-Problem

From: Christian Weerts <christian_at_familie-weerts.de>
Date: Tue, 28 Nov 2006 21:19:55 +0100

Moin,

folgende Situation:

foo=`cat $1`;

for i in $foo;
 do echo $i;
done;

Ich weiss, inhaltlich ist die Schleife wertlos, allerdings geht es mir
um folgendes:
Mit $1 wird eine Textdatei übergeben, die z.b. folgendermaßen aufgebaut ist:

abcd blafasel foobar
foo blubb
baz
usw.

Jede Zeile soll als String angesehen werden und in $i enthalten sein.
Also sollte die Ausgabe so aussehen:

abcd blafasel foobar
foo blubb
baz

Nur leider kommt folgendes dabei heraus:

abcd
blafasel
foobar
foo
blubb
baz

Es wird also nach jedem Leerzeichen eine neue Zeile angefangen. Nur
warum ist das so? Ein 'cat <datei>' wirft mir ja schließlich auch die
Datei so auf den Schirm wie gewünscht. Ich dachte immer cat ist für die
zeilenweise Auslieferung zuständig.

Gruss,
chw
Received on Tue Nov 28 2006 - 21:19:55 CET

This archive was generated by hypermail 2.2.0 : Tue Nov 28 2006 - 21:20:29 CET