比较两个具有重复的文本文件,并将明显的差异写入文本文件

时间:2019-02-07 12:49:23

标签: powershell compare compareobject

我想比较2个文本文件,然后将差异输出到另一个文本文件中。

compare-object (get-content c:\temp\hostname_old.txt) (get-content c:\temp\hostname_new.txt) | Select-Object -ExpandProperty InputObject | Out-File $Location

hostname_old.txt

server02
server05
server04
server06
server01

hostname_new.txt(名称重复)

server04
server01
server02
server04
server02

结果:

server04
server02
server05
server06

请注意server04server02在此差异列表中的显示方式,即使它们在两个输入文件中也存在。

这就是我想要的:

server05
server06

1 个答案:

答案 0 :(得分:0)

在比较之前使用Select-Object -Unique消除重复项:

compare-object -PassThru `
  (get-content c:\temp\hostname_old.txt) `
  (get-content c:\temp\hostname_new.txt | Select-Object -Unique)

与上一个问题的this answer一样,-PassThru用于直接传递不同的行,而没有[pscustomobject]包装器(通过它们的{ {1}}默认输出的{1}}属性。