tr0nix
der-mit-dem-tux-tanzt
Hallo zusammen
Ich bin gerade am awk Scripten. Nun habe ich das Problem, dass ich zuerst durch die ganze Datei durchparsen muss um einige Informationen rauszuholen um anschliessend einzelne Zeilen nochmals neu einzulesen.
Dazu dachte ich, kann ich die Variable NR (welches ja die aktuelle Zeilennummer wiedergibt) einfach auf die gewünschte Zeile setzen und dann mittels $... auf das entsprechende Feld zugreifen.
Irgendwie klappt das nicht :o(
Hier ist der Codeschnipsel. _CONNECTIONS ist die Anzahl gesamtzeilen im Script (END { _CONNECTIONS = NR; }).
Weiss jemand, wieso das nicht geht? Kann man nicht hin-und-herhüpfen in den Zeilen mit awk?
Helfen würde mir auch, wenn ich mit AWK im vorherrein feststellen könnte, wieviele Zeilen die Input-Datei hat.
Gruss
Joel
P.S.
ist keine Lösung.. ich will ggf. mehrere Millionen Zeilen damit analysieren können ;o). So wird der wohl alles ins Memory laden.
Ich bin gerade am awk Scripten. Nun habe ich das Problem, dass ich zuerst durch die ganze Datei durchparsen muss um einige Informationen rauszuholen um anschliessend einzelne Zeilen nochmals neu einzulesen.
Dazu dachte ich, kann ich die Variable NR (welches ja die aktuelle Zeilennummer wiedergibt) einfach auf die gewünschte Zeile setzen und dann mittels $... auf das entsprechende Feld zugreifen.
Irgendwie klappt das nicht :o(
Hier ist der Codeschnipsel. _CONNECTIONS ist die Anzahl gesamtzeilen im Script (END { _CONNECTIONS = NR; }).
Code:
for( NR = 0; NR < _CONNECTIONS; NR++ ) {
x=(100 / _CONNECTIONS * NR);
y=(50 / _MAXSIZE * $4 );
printf("x: %i, y: %i\n", x, y);
}
Weiss jemand, wieso das nicht geht? Kann man nicht hin-und-herhüpfen in den Zeilen mit awk?
Helfen würde mir auch, wenn ich mit AWK im vorherrein feststellen könnte, wieviele Zeilen die Input-Datei hat.
Gruss
Joel
P.S.
Code:
{
line[NR] = $0;
}
Zuletzt bearbeitet: