微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

导致Esc字符的PowerShell选择字符串

如何解决导致Esc字符的PowerShell选择字符串

我正在尝试将一些日志合并在一起,仅选择欠载量(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:\tmp\combined.txt

上面的代码添加了转义字符。这些字符正在阻止代码流。如何防止这种情况发生?

(j:0[7m,u:15424,o:[0m0)

谢谢您的帮助。

解决方法

经过一番挖掘后,解决方法是选择字符串上的-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:\tmp\combined2.txt

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。