2

我正在尝试使用 powershell 扫描日志文件并查找特定模式的出现。到目前为止,我使用正则表达式进行搜索的测试都失败了,但我注意到了一些我认为可能是原因的事情。在有问题的日志文件上运行 get-content 会带回文件,但会在 notepad++ 中显示时将单行包装到多行。

无论如何要阻止powershell包装文本,还是硬编码到窗口是powershell中行长的限制这一事实?

4

3 回答 3

3

Out-File可能会切线,默认情况下它会使用主机窗口的宽度写入行,默认为80. 也许尝试使用Set-Content或给Out-File一个-Width足够大的。

于 2013-03-07T16:03:16.573 回答
1

行在控制台中换行的事实仅仅是因为它显示文本的方式。它不会影响正则表达式。

话虽如此,您不需要使用Get-Content正则表达式搜索。Select-String应该能够自己完成这项工作。

于 2013-03-07T15:56:06.417 回答
0

应用程序和操作系统通常用一个或两个控制字符表示换行符,通常是回车(反引号 r)和换行符(反引号 n)。

尝试通过显式添加-delimiter参数后跟这些控制字符之一来拆分您的内容。

get-content file.log -delimiter "`n"
于 2013-03-07T16:38:53.267 回答