Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Logdatei: doppelte Einträge finden...

  1. #1
    Registrierter Benutzer
    Registriert seit
    18.12.2008
    Beiträge
    39

    Logdatei: doppelte Einträge finden...

    Hallo Allerseits,

    ich weiß nicht was besser dafür geeignet ist, um das Ganze auszuwerten, Perl oder Bash. Daher folgende Frage.

    Logdatei sieht so aus:
    TUE MAY 1 11:45:58 2016 : AUTH: LOGIN OK: [BENUTZER.AA] (FROM CLIENT 192.168.0.0/24 PORT 8 CLI 00-00-00-00-00-AA VIA TLS TUNNEL)
    TUE MAY 1 11:45:59 2016 : AUTH: LOGIN OK: [BENUTZER.AA] (FROM CLIENT 192.168.0.0/24 PORT 8 CLI 00-00-00-00-00-BB)
    TUE MAY 1 11:46:05 2016 : AUTH: LOGIN OK: [BENUTZER.BB] (FROM CLIENT 192.168.0.0/24 PORT 12 CLI 00-00-00-00-00-CC VIA TLS TUNNEL)
    TUE MAY 1 11:46:05 2016 : AUTH: LOGIN OK: [BENUTZER.BB] (FROM CLIENT 192.168.0.0/24 PORT 12 CLI 00-00-00-00-00-CC)

    "00-00-00-00-00-AA" /...BB und ...CC am ende, sind MAC Adressen.

    Jetzt möchte ich nach Doppeleinträgen (Benutzernamen) suchen, welche jedoch mit unterschiedlichen MAC Adressen vorkommen. Daher habe ich in der ersten Zeile, gleiche Benutzername eingegeben wie in der zweiten(BENUTZER.AA), jedoch eine andere MAC Adresse, diese soll dann ausgegeben werden. Dritte und vierte nicht, weil es sich hierbei um einen Benutzer handelt, mit der gleichen MAC Adresse.

    Wie mache ich das am einfachsten bzw. was ist dafür besser geeignet, Perl oder Bash?

    Vielen Dank im voraus für Empfehlungen und Tipps.
    Geändert von Roki (03-05-2016 um 14:26 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.09.2005
    Beiträge
    61
    Hallo,
    wenn die Zeit in der Logdatei unwichtig ist, könntest du eine Liste aus Benutzer und MAC-Adresse erstellen, diese sortieren und dann pro Benutzer in einer Schleife prüfen, ob sich die MAC-Adresse ändert.
    Per BASH kann ich mir das durchaus vorstellen.
    Gruß zst

  3. #3
    Registrierter Benutzer
    Registriert seit
    30.12.2001
    Beiträge
    444
    Ausnahmsweise mal ne fertige Lösung:

    Code:
    cat logfile.txt \
       | perl -ne '/\[([^]]+)\].*(([0-9A-F]{2}-){5}[0-9A-F]{2}).*$/;print "$1 $2\n"' \
       | sort -k +1 \
       | uniq

  4. #4
    Registrierter Benutzer
    Registriert seit
    18.12.2008
    Beiträge
    39
    Vielen Dank euch beiden!

    Der Befehl von fork funktioniert super und das auch noch ein Zeiler! Und ich schreibe da viele Zeilen, ohne wirkliche Lösung....! :facepalm:

    also so:
    cat logfile.txt | perl -ne '/\[([^]]+)\].*(([0-9A-F]{2}-){5}[0-9A-F]{2}).*$/;print "$1 $2\n"' | sort -k +1 | uniq
    Geändert von Roki (07-05-2016 um 13:15 Uhr)

  5. #5
    Registrierter Benutzer
    Registriert seit
    30.12.2001
    Beiträge
    444
    Das ist nicht schlimm. Das passiert auch mir immer noch - und ist immer wieder spannend, wenn mir jemand so eine schöne Einzeilerlösung zeigt.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •