PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : awk, erste Zeile fehlt...



elrond
02-06-2010, 08:52
tach,

auch ich hab mal wieder ein problem...

ich versuche mit diesem stück awk die felder 11,12,13 aus einer csv datei (Trennzeichen ; ) zu lesen und in der Form "feld11|feld12|feld13" auszugeben.


cat datei | awk ' FS=";" { print $11"|"$12"|"$13}'


ab der zweiten zeile funktioniert das tadellos, aber in der ersten fehlen die feldinhalte...



||
z2f1|z2f2|z2f3


versuche ich einfach print $0 ist die Zeile, so wie's sein muss vollständig da... :confused:

John W
02-06-2010, 13:53
Parameter -F verwenden, dann geht es:

cat datei | awk -F ";" '{print $11"|"$12"|"$13}'Ist aber recht interessant, dass es mit FS=";" nicht klappt.
EDIT: Jetzt weiß ich, warum es nicht klappt: Bevor FS=";" ausgeführt wird, ist die Zeile schon gesplittet.

elrond
03-06-2010, 06:31
so geht's...danke! :D