简化Powershell Where-Object

时间:2015-05-11 16:50:33

标签: powershell csv where

我有使用Import-Csv

Where-Object语句
Import-Csv D:\Script\my.csv | Where-Object {$_.SourceIP -Like '10.251.22.11*' -Or $_.SourceIP -Like '10.251.22.*' -Or $_.DestinationIP -Like '10.251.22.11*' -Or $_.DestinationIP -Like '10.251.22.*'}

如果我试图简化声明,它就不起作用

Import-Csv D:\Script\my.csv | Where-Object {($_.SourceIP -Like ('10.251.22.11*' -Or '10.251.22.*')) -Or ($_.DestinationIP -like ('10.251.22.11*' -Or '10.251.22.*'))}

谷歌没有帮助: - (

1 个答案:

答案 0 :(得分:1)

在这种情况下,不要使用-match。

Import-Csv D:\Script\my.csv | Where-Object {$_.SourceIP -match '^10\.251\.22\.*' -or $_.DestinationIP -match '^10\.251\.22\.*'}

此外,10.251.22。*将匹配10.251.22.11 *,因此您可以将它们组合。