0

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

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

但是我真正想要的是搜索直到特定的列。

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

示例输入:

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

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

提前致谢

4

1 回答 1

1

像这样的东西可能会起作用:

Get-Content $file.fullName | ? {
  $_.SubString(9,4) -eq 'CALL' -or $_ -match '^.{15}[^ ]*($control|=V|=S)'
}
于 2013-06-14T19:57:44.673 回答