将两个文本文件与重复项进行比较,并将明显的差异写入文本文件
Compare two text files with duplicates and write the distinct differences to text file
我想比较 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
请注意 server04
和 server02
如何出现在这个差异列表中,即使它们出现在 两个 输入文件中。
这就是我想要的:
server05
server06
在比较之前使用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]
包装器(通过他们 .SideIndicator
属性) 默认情况下 Compare-Object
输出。
我想比较 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
请注意 server04
和 server02
如何出现在这个差异列表中,即使它们出现在 两个 输入文件中。
这就是我想要的:
server05
server06
在比较之前使用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]
包装器(通过他们 .SideIndicator
属性) 默认情况下 Compare-Object
输出。