目標:比較存儲在$a
中的字符串與存儲在$b
中的字符串。如果在$a
中不存在的$b
中存在字符串,請顯示這些字符串。如何使用PowerShell比較cmdlet與列表的輸出?
我運行下面的搜索文本文件的某些信息:
$a = Select-String -Path *.txt "<string>"
這將返回包含文本文件的名稱(這是他們從服務器命名)線,該字符串的行號和字符串本身。它將它存儲在
$a
變量中。我運行下面的存儲變量
$b
服務器名稱的列表:$b = Get-Content servers.txt
我運行下面給
$a
內容與$b
比較,並告訴我,如果有在任何名單$b
未包含在$a
:$b | Where-Object {$a -NotMatch $_}
我清楚地做錯事,因爲這只是顯示的內容
$a
。 關於我如何實現我的目標的任何想法?
'$ B | ? {$ _ -notin $ a}' – xXhRQ8sD2L7Z
謝謝,但是當我運行這個時,它顯示了$ b的內容,導致我認爲它運行並且認爲$ b中的所有項都缺少$ a。 – user1690152
您能否提供樣本清單*完全*您正在使用哪些數據? – xXhRQ8sD2L7Z