比较对象 Returns 没什么 powershell

Compare-Object Returns nothing powershell

所以我有这两个文件 "file1.txt" 和 "file2.txt" 以及列表,例如:

文件 1:
番茄
番茄酱
芥末酱

文件 2:
番茄
芥末酱

然后我需要提取仅在第一个文件中的行,所以我尝试了

Compare-Object $(Get-Content file1.txt) $(Get-Content file2.txt)

它仍然向我显示所有台词,所以我选择了 属性

Compare-Object $(Get-Content file1.txt) $(Get-Content file2.txt) -Property inputObject

我得到了这个结果:

inputObject SideIndicator
----------- -------------
            <=           

我被困在网上,我从网上搜索得到的唯一结果是那些在添加“-属性”过滤器后得到正确答案的人。

提前致谢!

所以我遇到了两个问题(感谢@Olaf、@Lee_Dailey 和@JosefZ 的帮助!)

第一个问题是我从命令生成的列表中获取数据,所以有很多空格,运行 以下一组命令解决了这些问题:

(gc file1.txt) | ? {$_.trim() -ne "" } | set-content file1.txt
(gc file2.txt) | ? {$_.trim() -ne "" } | set-content file2.txt

(gc file1.txt) | ? {$_.trim() -ne " " } | set-content file1.txt
(gc file2.txt) | ? {$_.trim() -ne " " } | set-content file2.txt

之后我需要这样做(按照@JosefZ 的建议)来获得正确的结果集:

(Compare-Object $(Get-Content file1.txt) $(Get-Content file2.txt)|Where-Object {$_.SideIndicator -eq '<='}).InputObject

真的很感谢你们三位,我自己永远也找不到答案!