我试图使用PowerShell扫描日志文件并查找特定模式的出现。到目前为止,我使用正则表达式进行搜索的测试都失败了,但我注意到了一些我认为可能是原因。在有问题的日志文件上运行get-content会带回文件,但在notepad ++中显示多行时会包含单行。
无论如何都要阻止powershell包装文本,还是硬编码为窗口是powershell中行长度的限制?
答案 0 :(得分:3)
Out-File
可以选择这些行,默认情况下它会写入主窗口宽度的行,默认为80
。也许尝试使用Set-Content
或给Out-File
-Width
足够大的{{1}}。
答案 1 :(得分:1)
线条包裹在控制台中的事实只是因为它显示文本的方式。它不会影响正则表达式。
话虽如此,您不应该使用Get-Content
进行正则表达式搜索。 Select-String
应该能够自己完成工作。
答案 2 :(得分:0)
应用程序和操作系统通常代表一个带有一个或两个控制字符的换行符,通常是回车符(反引号r)和换行符(反引号n)。
尝试拆分内容,方法是明确添加-delimiter
参数,后跟其中一个控制字符。
get-content file.log -delimiter "`n"