我使用select-string来验证在一行上找到的字符串,但是我需要PowerShell来识别多行字符串,以及满足所有三个条件(见下文)
需要选择的.log文件中的输出:
Return Value
------------
0
我想要一些东西来验证以下字符串值(要满足所有三个以返回true)
"Return Value", "------------", " 0"
我试过这个,但这相当于过滤器中的OR而不是
| Select-String -pattern "Return Value", "------------", " 0"
来源:http://ss64.com/ps/select-string.html :http://www.sqlservercentral.com/Forums/Topic1253397-1351-1.aspx
答案 0 :(得分:0)
您可以将正则表达式与多行选项一起使用:
$a =
@'
Return Value
------------
0
'@
$b =
@'
Return Value
------------
1
'@
[regex]::Match($a, 'Return Value\s*------------\s*0', [System.Text.RegularExpressions.RegexOptions]::Multiline).Success # true
[regex]::Match($b, 'Return Value\s*------------\s*0', [System.Text.RegularExpressions.RegexOptions]::Multiline).Success # false
如果您发布了日志的扩展,我可以根据您的需要调整脚本。