> ich habe den Eindruck, dass meine Mails nicht in der Liste ankommen, > deshalb forwarde ich sie ausnahmsweise mal. Meine auch nicht; habe auf den ersten Versuch, meine Anfrage zu verschicken, sogar eine Antwort von meinem Mailer-Daemon (den ich im ersten Moment für eine Swen-Mail hielt) gekriegt: ----- Transcript of session follows ----- ... while talking to murphy.debian.org.: >>> RCPT To:<debian-user-german@lists.debian.org> <<< 550 <debian-user-german@lists.debian.org>: User unknown 550 <debian-user-german@lists.debian.org>... User unknown -- Der 2. Anlauf klappte dann. -- > Ein paar Beispielzeilen wären sehr hilfreich gewesen. Allerdings, sorry. Hab ein paar angehängt. Du hast das das aber ganz richtig erschlossen. Leider kriege ich widersprüchliche Fehlermeldungen: gawk: awk.txt:4: session=20001 visitor=10001 gawk: awk.txt:4: ^ syntax error Häh? Ich rufe über gawk -f auf, hab das Script im Beispiellog nochmal unten drangehängt. Vielleicht kannst du mal gucken, ob es bei dir läuft, ich habe hier auf Arbeit UnixUtils for Win32 und kriege öfters Fehlermeldungen von Scripts, die zu Hause laufen, dass ich nicht weiß, ob ich denen trauen soll. Also vielen Dank erstmal und Gruß Gebhard -----Original Message----- From: Jan Trippler [mailto:Jan.Trippler@t-online.de] Sent: Tuesday, September 30, 2003 9:23 PM To: Gebhard Dettmar Subject: Fwd: Re: awk script zum inkrementieren Importance: High Hallo Gebhard, ich habe den Eindruck, dass meine Mails nicht in der Liste ankommen, deshalb forwarde ich sie ausnahmsweise mal. Gruß Jan ---------- Weitergeleitete Nachricht ---------- Subject: Re: awk script zum inkrementieren Date: Tue, 30 Sep 2003 20:31:36 +0200 From: Jan Trippler <Jan.Trippler@t-online.de> To: debian-user-german@debian.org Am Dienstag, 30. September 2003 16:09 schrieb Gebhard Dettmar: [...] > -> $1 wird zu $2, $1 ist nun die Sess.-Nr. Sortiert ist das ganze > weiterhin > nach Timestamps. Das habe ich nach Session Nr. sortiert in sort.log > geschrieben und moechte jetzt ein awk-Script drueberlaufen lassen, > das ans Zeilenende Session- und VisitorID setzt und in dem Fall, dass > $1 ungleich $1 aus der vorausgehenden Zeile ist, Session- und > VisitorID um 1 inkrementiert > (a la > '$1 != prev {print $0, $(NF+1)="SessionID=i++"} for i=10001 o.s.?.), > so dass > jede Session eine je eigene Session-/VisitorID am Ende hat. [...] Ein paar Beispielzeilen wären sehr hilfreich gewesen. Ich denke mal, es sieht so aus: Session-ID IP irgendwas 0815 111.222.000.111 ... und Du willst es so haben: Session-ID IP irgendwas Dein_neues_Ende 0815 111.222.000.111 ... VisitorID=10001; SessionID=20001 und das ganze so, dass ein (mir unbekannter Startwert) der Session- und Visitor-ID jedesmal inkrementiert wird, wenn sich Spalte 1 ändert. Korrekt? Das geht mit awk z. B. so (ungetestet): awk ' BEGIN { prev = -1; } $1 != prev { prev = $1; session ++; visitor ++; } { printf "%s VisitorID=%d; SessionID=%d\n", $0,session,visitor;} ' session=20001 visitor=10001 sort.log >neues_log wobei die Werte 20001 und 10001 die Startwerte sind. Jan -------------------------------------------------------
Attachment:
beispielSessionized.zip
Description: Binary data