簡體   English   中英

如何從日志文件中提取幾個字符串

[英]How to extract several string from log files

我正在嘗試從日志文件中提取幾個字符串。 到現在為止還挺好。 但是我不知道如何從結果中僅提取所需的細節。

日志條目如下所示:

(DIAG:XMLRPC)(11:07:01 15/04/2019)(MEM:130590)(TID:3632)(USER:Administrator)(REMOTE:10.67.125.177:59032)(XmlRpc: called method 'QueryCreativeFilterInfoList'.31)

我可以用以下代碼解析它:

$output_file = 'C:\Copy-Test\logins.txt'
$regex = 'QueryCreativeFilterInfoList'
$files = Get-ChildItem "C:\Copy-Test\Logs"

foreach ($file in $files)
 {
    gc $file.FullName | select-string -Pattern $regex | Select-String -Pattern "Administrator" | Out-File -FilePath $output_file -Append
}

現在,我只想輸出數據,時間用戶名,但我不知道如何。 我看到了一些瘋狂的正則表達式的東西,但這遠遠超出了我的技能水平。

如果有人可以指導我,我將不勝感激

最簡單的方法是用)(分隔符分割日志條目字符串,然后打印結果數組的成員。類似這樣的東西:

gc $file.FullName | select-string -Pattern $regex | Select-String -Pattern "Administrator"| foreach {
   $a=$_ -split "\)\("
   "$(($a[1] -split " ")[1,0] -join ' ') $($a[4].substring(5))"
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM