如何select 多行字符串(包括空格),return true if found - PowerShell/SQL Batch
How to select multi-line strings (including spaces), return true if found - PowerShell/SQL Batch
我已经使用 select-string 来验证在一行中找到的字符串,但是我需要 PowerShell 来识别多行字符串,并满足所有三个条件(见下文)
.log 文件中需要 selected 的输出:
Return Value
------------
0
我想要一些东西来验证以下字符串值(所有三个都满足 return true)
"Return Value", "------------", " 0"
我已经试过了,但这相当于过滤器中的 OR not AND
| Select-String -pattern "Return Value", "------------", " 0"
来源:http://ss64.com/ps/select-string.html
: http://www.sqlservercentral.com/Forums/Topic1253397-1351-1.aspx
您可以将 regex 与多行选项一起使用:
$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
如果您post一个日志示例,我可以根据您的需要调整脚本。
我已经使用 select-string 来验证在一行中找到的字符串,但是我需要 PowerShell 来识别多行字符串,并满足所有三个条件(见下文)
.log 文件中需要 selected 的输出:
Return Value
------------
0
我想要一些东西来验证以下字符串值(所有三个都满足 return true)
"Return Value", "------------", " 0"
我已经试过了,但这相当于过滤器中的 OR not AND
| Select-String -pattern "Return Value", "------------", " 0"
来源:http://ss64.com/ps/select-string.html : http://www.sqlservercentral.com/Forums/Topic1253397-1351-1.aspx
您可以将 regex 与多行选项一起使用:
$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
如果您post一个日志示例,我可以根据您的需要调整脚本。