PowerShell:在 Where-Object 中定义多个条件

PowerShell: defining multiple conditions in Where-Object

我有一个示例数组,我尝试创建一个规则来过滤数组中存在的 2 个项目中的任何一个。

示例数组:

$d_c_arr = @('idata', 'quanthouse', 'reuters', 'bloomberg', 'fidelity', 'nasdaq')

我要过滤掉的项目是“idata”和“quanthouse”。

过滤规则应适应“idata”和“quanthouse”同时存在或数组中仅存在其中一个的情况。

我尝试定义规则:

$d_c_arr | Where-Object { $_ -notlike 'idata' -or $_ -notlike 'quanthouse' }

我的预期输出是:

reuters
bloomberg
fidelity
nasdaq

然而,实际输出是:

idata
quanthouse
reuters
bloomberg
fidelity
nasdaq

如何正确定义规则来过滤数组中的 2 个选定项目?

$d_c_arr | sls -pattern 'idata|quanthouse' -notmatch

[LIVE]

您的对象是 .net 字符串,因此可以使用 select-string cmdlet。
select-string 以 regex 为模式。