Am Montag, 21. Juni 2004 06:22 schrieb Andreas Pakulat:
[...]
> echo test t | cut -f1 klappt nicht,
> echo -e "test\tt" | cut -f1 klappt, aber wenn ich ne Datei nehme

Die Option -d wurde ja schon genannt.

> mit
>
> test  1
> test  2
> ...
>
> und dann mittels cat datei | while read l ; do echo $l | cut -f1,
> kriege ich wieder "test 1" (genau, nur ein Leerzeichen) raus.

Um Himmels Willen ;-) Was ist denn das f�r eine abenteuerliche 
Konstruktion?
Wenn in deiner Datei ein Tab zwischen den einzelnen Feldern steht, 
dann mach es so:
cut -f1 datei

Die Ursache, warum es bei Dir nicht klappt, ist der echo - weil er 
n�mlich in jeder Zeile "test" und "1" (oder "2") als eigene 
Argumente kriegt und per Default zwischen einzelne Argumente ein 
Leerzeichen setzt. Beim cut kommt also "test 1" usw. an (mit einem 
Leerzeichen).

Wenn Du aus irgendeinem Grund die Schleife brauchst:
cat datei | while read I; do
  echo "$i" | cut -f1
  ...
done

oder:
while read I; do
  echo "$i" | cut -f1
  ...
done <datei

Jan

Antwort per Email an