txt Log Auswerten

  • Hallo,

    Ich komm da nicht so ganz weiter.
    Die Grund Funktion will nicht mal bei mir.

    Ich habe folgendes als bsp in ein txt Log stehen:

    Ich würde hier gern ein Script schreiben wo ich das Log so ausgelesen bekomm das mir ein Excel, CSV nur die wichtigsten Daten angezeigt werden.

    zb.:

    10000 , 4

    -10000 , 5

    20000 , 4

    Hier mal mein Script:

    Bekomm nur Blödsinn heraus.

    lg

    Speedy

  • Für sowas sind reguläre Ausdrücke ideal.

    Ein Tutorial hierzu findest du >>hier<<.

    Dann sollte dich folgendes ein Stück weiter bringen:

    AutoIt
    #include <Array.au3>
    
    Global $sFile = FileRead("Test.log")
    
    For $aMatch In StringRegExp($sFile, "addCoin: (-?\d+) von (\d+)", 4)
        _ArrayDisplay($aMatch)
    Next
  • zb.:

    10000 , 4

    -10000 , 5

    Versuche es mal damit :

    AutoIt
    #include <Array.au3>
    Global $g_sFile, $g_aMatches
    $g_sFile    = FileRead(@ScriptDir & "\Log_test.txt")
    $g_aMatches = StringRegExp($g_sFile, "(?i)[-\s]\d+ von \d+", 3)
    If Not @error Then
        For $i = 0 To UBound($g_aMatches) - 1
            $g_aMatches[$i] = StringReplace(StringStripWS($g_aMatches[$i], 8), 'von', ',')
        Next
        _ArrayDisplay($g_aMatches, "Matches :")
    EndIf
  • Hey Musashi Danke,

    die Zahl nach dem von sollten noch in einer eigenen Spalte kommen.

    Damit ich das auch besser sortieren kann.

    hab es so umgebaut:

    Wie muss ich den zweiten such Befehl der 2 Spalte ändern ?

    Das Tut von AspirinJunkie werd ich mir heut oder morgen durchmachen.

    hoff das ich mich mit Regexp dann auch besser auskenne, hab in den Bereich noch gar nix gemacht.

  • die Zahl nach dem von sollten noch in einer eigenen Spalte kommen.

    (man kann es sicher auch noch etwas kürzer schreiben ;))

    Das Tut von AspirinJunkie werd ich mir heut oder morgen durchmachen.

    Sehr gute Idee :thumbup: (das Tutorial stammt übrigens von SEuBo )

    Einmal editiert, zuletzt von Musashi (5. Oktober 2020 um 12:53)

  • Nachtrag :

    Ich habe den regulären Ausdruck etwas überarbeitet.

    Außerdem brauchst Du kein extra Array $g_aMatchesFinal mehr anlegen.