【发布时间】:2017-12-16 08:31:44
【问题描述】:
我编写了一个 Powershell 脚本,它在日志文件中查找字符串(例如 ERROR)并抓取这些行并将这些行输出到文件中,以便于阅读等(我所在的行业有非常大的日志文件),但我有一个问题。之前,当代码的(相关)部分看起来像这样时:
Select-String -Path "$file" -Pattern "$string" -CaseSensitive | Out-File -filepath $filepath
它会输出文件路径,行号,然后是实际的行,这使得文件非常混乱。好吧,我只需要行和行号,所以我这样做了:
Select-String -Path "$file" -Pattern "$string" -CaseSensitive | Select-Object -Property LineNumber,Line | Out-File -filepath $filepath
这将返回如下所示的行:
978 2017-07-10 10:46:11,288 ERROR [Music...
即是行号,然后是行,该行总共只有 35 个字符。
在我将Select-String 传送到Select-Object 之前,脚本会输出整行,但现在使用Select-Object 它会省略一些输出。我尝试将-verbose 参数添加到Select-String 和Select-Object,但没有任何效果。
【问题讨论】: