我有一个独特的ID放在日志文件中,我可以搜索文件并获得它,一旦我找到需要的文件中的唯一ID在这个唯一的ID后面找到另一个字符串(命名为字符串2)并复制字符串2的下一行。在日志文件中找到一个字符串,并在第一个字符串后搜索另一个字符串
请在下面找到我的功能,并请建议如何做到这一点。
Func getAuthResponse($LogfilePath, $AuthRespFilePath, $UniqueId, $search)
Global $iLine = 0, $sLine = ''
Global $hFile = FileOpen($LogfilePath)
If $hFile = -1 Then
MsgBox(0,'ERROR','Unable to open file for reading.')
Exit 1
EndIf ;If $hFile = -1 Then
; find the line that has the search string
While 1
$iLine += 1
$sLine = FileReadLine($hFile)
If @error = -1 Then ExitLoop
; finding the unique id in the log file
;ConsoleWrite($UniqueId & @LF)
If StringInStr($sLine, $UniqueId) Then
ConsoleWrite($sLine & @LF)
; assuming that unique id is found , now finding the phrase Auth response is as follow : after the unique id
$sNewLine = $sLine+
If StringInStr($sLine, $search) Then
ConsoleWrite($sLine & @LF)
//// SOME LOGIC ////
ExitLoop
EndIf ;If StringInStr($sLine, $search) Then
ExitLoop
EndIf ;If(StringInStr($sLine, $UniqueId) Then
WEnd ;While 1
FileClose($hFile)
EndFunc
它不适合我的工作。 –
这不是很有帮助。什么不行?哪些代码会出错。这段代码没有经过测试,我只是把它做得很快。 – IkeRoyle