我想使用PowerShell解析日志,然后输出到CSV文件。
实现这一目标的基本方法是什么?
答案 0 :(得分:1)
每种日志格式在进行模式匹配时都涉及它自己的逻辑,但我建议你这样:
(test.log类似于: date - context - type - msg)
$file = get-content test.log
$pattern = '^(.*) - (.*) - (.*) - (.*)$'
$findings = $file | select-string -pattern $pattern
$lines = foreach($f in $findings) {
if ($f -match $pattern) {
$line = @{
'date' = $matches[1]
'context' = $matches[2]
'level' = $matches[3]
'message' = $matches[4]
}
new-object -typename psobject -property $line
}
}
$lines | export-csv -notypeinformation -delimiter ';' -path 'test.csv'
答案 1 :(得分:0)
Get-Content | do something | Export-CSV