【发布时间】:2018-11-26 14:34:52
【问题描述】:
所以我有这两个文件“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
----------- -------------
<=
我被困在网上,我从网上搜索得到的唯一结果是人们在添加“-Property”过滤器后得到了正确的结果。
提前致谢!
【问题讨论】:
-
当我运行你的命令时,我得到了完全预期的结果。 (盐=>和番茄酱
-
@Olaf 这就是它应该如何工作的,所以我觉得你可以用这个命令来做这件事并不奇怪。我正在从其他命令的输出中获取列表,所以可能是这样?
-
当我在这两个数组上运行比较对象时,我得到
Salt =>和Ketchup <=作为输出。这就是它应该显示的。 [咧嘴] -
我怀疑任何比较对象都存在
inputObject属性,因为它们是数组。试试(Compare-Object $(Get-Content file1.txt) $(Get-Content file2.txt)|Where-Object {$_.SideIndicator -eq '<='}).InputObject。 -
@Spina97 - 酷!很高兴知道你成功了……[grin]
标签: powershell compare powershell-2.0 powershell-3.0