Archiv verlassen und diese Seite im Standarddesign anzeigen : awk von spalte bis spalte
hi ich möchte mit awk eine komplette zeile ausgeben, aber erst ab z.b spalte 3, leider ist die menge der restlichen spalten immer unterschiedlich ;(
welche möglichkeiten gibts dafür?
thx cu SHB
Poste mal ein paar Testdaten, möglich ist das mit Sicherheit.
fs111
peschmae
17-12-2004, 20:19
Sowas?
peschmae@thinkpad:/tmp$ cat test.txt
1 2 3 4
a b c d
peschmae@thinkpad:/tmp$ awk ' { for (i = 2; i <= NF; i++) print $i }' < test.txt
2
3
4
b
c
d
NF steht für Number of Fields, also die Anzahl Felder im aktuellen Datensatz.
MfG Peschmä
Hans-Georg Normann
17-12-2004, 22:48
man awk sagt
The variable NF is set to the total number of fields in the input record. Damit müßte man doch was anfangen können, oder?
for (i=4; i<=NF; i++) { ..........} Nicht die eleganteste Methode, geht aber.
Mal ne Frage an die Community, gibts in awk nicht soetwas wie shift in der Shell / Bash? Das wäre ja dann auch ne Möglichkeit.
Hans
mmm, danke genau sowas habe ich gesucht habe ich hattes irgendwie immer mit $NF gemacht.
gibt es eine möglichkeit das ganze auch zeilenweise wieder auszugeben? was in einer zeile ist, soll auch in einer zeile bleiben
thx cu SHB
peschmae
19-12-2004, 21:59
Klar geht das. Guck mal in die Manpage (der Tipp von HGN war gar nicht so schlecht, ich hätte nie gedacht dass in einer Manpage so viel drinstehen kann)
print Prints the current record. The output record is
terminated with the value of the ORS variable.
also ORS (output record separator) passend setzen. Oder printf verwenden.
Den GNU AWK Users Guide gibts auch Online (wusste gar nicht dass es sowas gibt, aber praktisch als Referenz seit Sed&Awk nicht mehr online zu finden ist (ich hab das Buch schon auch in papier aber nicht hier))
http://www.delorie.com/gnu/docs/gawk/gawk_toc.html
@HGN: Ich glaub nicht dass es was schlaueres gibt. Bin zwar nicht _der_ AWK Guru und fände es naheliegend wenn es sowas gäbe, hab aber wirklich noch nie was von sowas gehört.
MfG Peschmä
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.