简化 Powershell Where-Object
Simplify Powershell Where-Object
我有使用 Where-Object
的工作 Import-Csv
语句
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.*'))}
Google 没有帮助:-(
在这种情况下使用 -match 而不是 -like。
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*,因此您可以将它们组合起来。
我有使用 Where-Object
Import-Csv
语句
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.*'))}
Google 没有帮助:-(
在这种情况下使用 -match 而不是 -like。
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*,因此您可以将它们组合起来。