Am Mittwoch, 1. Oktober 2003 13:59 schrieb Gebhard Dettmar:
[Beispiel-Datei]

Eins war mir noch nicht ganz klar, Du hast geschrieben, dass *die 
Session-ID aus den realen Sessions gebildet werden soll* - ich habe 
jetzt mal einfach angenommen, dass in der Session-ID der ursprüngliche 
Wert stehen soll und das Script entspr. geändert.

Das Script kannst Du auf 2 Wegen aufrufen:
als Shell-Script:
<log.sh>
sort session.log | tr -d '\r' | \
awk ' BEGIN { prev = ""; }
      $1 != prev { prev = $1; visitor ++; }
      { printf "%s \"VisitorID=%d; SessionID=%s\"\n",
               substr ($0, length($1) + 2), visitor, $1;}
    ' visitor=10000 >neues_log
</log.sh>

oder als awk-Script:
<log.awk>
BEGIN { prev = ""; }
      $1 != prev { prev = $1; visitor ++; }
      { printf "%s \"VisitorID=%d; SessionID=%s\"\n",
               substr ($0, length($1) + 2), visitor, $1;}
</log.awk>
dann aber mit folgender Syntax (eine Zeile):
sort session.log | tr -d '\r' | awk -v visitor=10000 -f log.awk 
>neues_log

Der tr mittendrin dient der Beseitigung des DOS-Zeilenendes (ich weiss 
nicht, ob die Originaldatei auch damit ankommt).

Jan


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an