所以我有两个带有列表的文件"file1.txt"one_answers"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、@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
真的很感谢你们三个,如果我一个人,我永远都不会找到答案!