Hi,
Ich hab hier eine Log die ich auslesen will.
Bisher ist es mir auch schon gelungen teile auszulesen.
Das ganze soll möglich schnell gehen weil die Logs ziemlich groß werden können.
Hier mal ein ausschnitt aus der Log.
Spoiler anzeigen
[09.05.2013 18:19:35] ^5Player List: [Slot #] [GUID] [Status] [Auth Rate] [Recent SS] [Name]
^51 (VALID) OK 3.2 0{0|0} name
^5End of Player List (1 Player)
[09.05.2013 18:21:15] ^5Player List: [Slot #] [GUID] [Status] [Auth Rate] [Recent SS] [Name]
^53 GUID1234(VALID) OK 3.0 0{0|0} name
^54 GUID1234(VALID) OK 6.6 0{0|0} name
^55 GUID1234(VALID) OK 3.1 0{0|0} name
^56 GUID1234(VALID) OK 3.2 0{0|0} name
^57 GUID1234(VALID) OK 3.1 0{0|0} name
^58 GUID1234(VALID) OK 3.2 0{0|0} name
^59 GUID1234(VALID) OK 3.1 0{0|0} name
^510 GUID1234(VALID) OK 3.0 0{0|0} name
^511 GUID1234(VALID) OK 3.2 0{0|0} name
^512 GUID1234(VALID) OK 3.3 0{0|0} name
^5End of Player List (10 Players)
[09.05.2013 18:24:04] ^5Player List: [Slot #] [GUID] [Status] [Auth Rate] [Recent SS] [Name]
^54 GUID1234(VALID) OK 3.6 0{0|0} name
^55 GUID1234(VALID) OK 4.0 0{0|0} name
^56 GUID1234(VALID) OK 4.0 0{0|0} name
^57 GUID1234(VALID) OK 3.6 0{0|0} name
^58 GUID1234(VALID) OK 4.0 0{0|0} name
^59 GUID1234(VALID) OK 3.3 0{0|0} name
^510 GUID1234(VALID) OK 3.6 0{0|0} name
^511 GUID1234(VALID) OK 3.6 0{0|0} name
^512 GUID1234(VALID) OK 3.3 0{0|0} name
^514 GUID1234(VALID) OK 4.0 0{0|0} name
^515 GUID1234(VALID) OK 4.0 0{0|0} name
^5End of Player List (11 Players)
[09.05.2013 18:31:11] ^5Player List: [Slot #] [GUID] [Status] [Auth Rate] [Recent SS] [Name]
^51 (VALID) OK 0.0 0{0|0} name
^5End of Player List (1 Player)
Alles anzeigen
Dazwischen sind dann auch noch andere ausgaben die mit [Datum Uhrzeit] beginnen.
Was ich hier auslesen will ist das Datum und die Uhrzeit dazu noch die GUID (kann auch "" sein) und den namen (kann auch "" sein, kann auch Leerzeichen enthalten) .
Was ich bisher auslesen konnte war die komplette liste einfach mit
$PBlist=_StringBetween($PBLogText,"^5Player List: [Slot #] [GUID] [Status] [Auth Rate] [Recent SS] [Name]", "^5End of Player List")
[/autoit]
Nur fehlt mir da dann die Uhrzeit und das Datum.
Danach hab ich ein bisschen mit "StringRegExp" rumprobiert und konnte damit das Datum auslesen.
$data = StringRegExp($data, '(?:\[:?)([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,4} [0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})(?:\])', 3)
[/autoit]Nur bring mir das gar nichts weil es ja keinen Bezug auf die Player List hat (da es auch andere befehle mit Datum/Uhrzeit gibt)
Jetzt meine Frage wie kann ich am schnellsten die Log auslesen und dabei die Informationen wie oben genannt bekommen.
MfG
Griss