如何在PowerShell中管理日志文件CSV?

时间:2016-11-16 20:47:44

标签: powershell pipeline

我想使用PowerShell解析日志,然后输出到CSV文件。

实现这一目标的基本方法是什么?

2 个答案:

答案 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