zeilennummer eines logfiles anhand eines bekannten strings rausbekommen

  • moin leute ... ich such mal wieder seit stunden und find nix gescheites.
    ich habe ein logfile welches logischer weise verschiedne längen hat.
    um dort strings zu extrahieren muss ich erstmal wissen ab welcher zeile
    ich sie finde... lange rede kurzer sinn: "]connectionproblem" ist der text im
    log und ich brauche die zeilennummer. wie ist der befehl zum anzeigen zeilennummer
    anhand dieses suchtextes ?
    danke schonmal für die hilfe :D

    Einmal editiert, zuletzt von WhiteLion (13. Juni 2010 um 14:33)

  • [autoit]

    Local $split, $i, $line
    $split = StringSplit(FileRead("Pfad zur Datei"), @LF)
    For $i = 1 To UBound($split)-1
    If StringInStr($split[$i], "]connectionproblem") Then
    $line = $i
    ExitLoop
    EndIf
    Next
    If $line = "" Then $line = "Nicht gefunden"
    MsgBox(0,"Gesuchte Zeilennummer", $line)

    [/autoit]


    Müsste theoretisch funktionieren. Habs jetzt nicht getestet.

  • Oder so:

    [autoit]


    $search = "]connectionproblem"
    $logfile = "ap.txt" ;Pfad zur Logdatei
    $file = FileOpen($logfile, 0)
    $i = 1
    While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    If StringInStr($line, $search) > 0 Then ConsoleWrite("Gefunden in Zeile: " & $i & @CRLF)
    $i += 1
    WEnd
    FileClose($file)

    [/autoit]

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯