我正在尝试将一些日志组合在一起,并只选择具有高underrun(u:(的行。任何超过0的都是高。该代码在终端内部发挥了神奇的作用。但是,当我将信息推送到文件时,我得到的是ESC字符,而不是信息。
$Files = get-childitem C:Tmp
$Underruns = foreach ($file in $Files) {
$File | get-content | Select-String -Pattern ",u:[1-9].*,o:"
}
$Underruns | Out-File -Encoding utf8BOM -FilePath c:tmpcombined.txt
上面的代码正在添加转义字符。这些字符正在阻止代码的流动。我该如何防止这种情况发生?
(j:0[7m,u:15424,o:[0m0)
谢谢你的帮助。
经过一番挖掘后,这个问题的解决方案是select字符串上的-Raw标志。
$Files = get-childitem C:Tmp
$Underruns = foreach ($file in $Files) {
$File | get-content | Select-String -Pattern ',u:[1-9].*,o:' -Raw
}
$Underruns | Out-File -Encoding utf8BOM -FilePath c:tmpcombined2.txt