PowerShell-匹配CSV文件中的多个字符串条目
我正在尝试在CSV文件中匹配多个字符串。示例CSV如下:PowerShell-匹配CSV文件中的多个字符串条目,powershell,Powershell,我正在尝试在CSV文件中匹配多个字符串。示例CSV如下: Hostname,IpAddress,Domain x200apple300,1.2.3.4,contoso.local x200banana300,1.2.3.5,contoso.local x200orange300,1.2.3.6,contoso.local x200kiwi300,1.2.3.7,contoso.local 示例代码: $csv = Import-Csv "C:\Files\csvExample.csv
Hostname,IpAddress,Domain
x200apple300,1.2.3.4,contoso.local
x200banana300,1.2.3.5,contoso.local
x200orange300,1.2.3.6,contoso.local
x200kiwi300,1.2.3.7,contoso.local
示例代码:
$csv = Import-Csv "C:\Files\csvExample.csv"
$csv | Where-Object {$_.Hostname -match "kiwi"}
# All OK. Now match multiple hostnames.
$csv | Where-Object {$_.Hostname -match "kiwi", "orange"}
# Not working.
$csv | Where-Object {$_.Hostname -contains "apple", "banana"}
# Not working
在本例中,如何匹配多个主机名?我做错了什么。匹配采用正则表达式,因此您可以使用
或运算符对多个值进行筛选
$csv = Import-Csv "C:\Files\csvExample.csv"
$csv | Where-Object {$_.Hostname -match "kiwi|orange|banana"}
-match
操作符希望右侧有一个正则表达式。我不确定$Value-match$A,$B
是什么意思;我看不到它的文档,而且它似乎总是从我的输入返回false
$\主机名-包含“苹果”,“香蕉”
是向后的。您需要{$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;e、 例如,'foo'-匹配'o','o'
是$true
。