列的Powershell搜索

时间:2013-06-14 19:14:33

标签: regex powershell match

我正在使用以下Powershell脚本进行搜索。我的脚本正在搜索整行。 (and& or条件都很好)

Get-Content $file.fullName | ? {
  $_ -match $control -and $_ -notmatch '^\*' -and
    ($_ -match 'Call' -or $_ -match '=V' -or $_ -match '=S')
} 

然而,我真正想要的是搜索特定列。

更具体。
a)仅在第10至13栏搜索CALL(在我当前的脚本中,我在整行搜索Call) b)$ control,=V=S只应从第16列开始搜索,直到我找不到空白字符。 (目前我正在搜索$ control,=V=S整行)

示例输入:

CALL  $control,abcd,i,2 XXXXXXX XXXX YYYYY

我当前的脚本我想在第16列中搜索$ control,=v=s,直到我找不到空白(即直到值2)。我不想在=V

中找到$ control,=SXXXXXXX XXXX YYYYY

提前致谢

1 个答案:

答案 0 :(得分:1)

这样的事可能有用:

Get-Content $file.fullName | ? {
  $_.SubString(9,4) -eq 'CALL' -or $_ -match '^.{15}[^ ]*($control|=V|=S)'
}