首页 > 解决方案 > 比较 2 个列表以获得不相等的列表

问题描述

我有 2 个列表(客户端,节点),我只需要节点名不等于服务器名的客户端。

每个列表都在一个自己的文件中,一个称为 client.txt,另一个称为 node.txt

这是一个例子:

Client:   Server:
one.local one.local
two.local two.local
3.local   4.local
4.local   5.local

现在我只想获得 3.local 因为他是唯一没有同一台服务器的人。

感谢您的帮助 VallingSki

标签: windowspowershell

解决方案


您可以使用该Contains方法,例如:

$client = @('one.local', 'two.local', '3.local', '4.local')
$server = @('one.local', 'two.local', '4.local', '5.local')

$client | % { if (-not $server.Contains($_)) {$_}}

或者更简单:

$client | where { $server -notcontains $_}

推荐阅读