【问题标题】:Compare two text files with duplicates and write the distinct differences to text file比较两个重复的文本文件并将明显的差异写入文本文件
【发布时间】:2019-02-07 12:49:23
【问题描述】:

我想比较 2 个文本文件并在另一个文本文件中输出差异。

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

主机名_old.txt

server02
server05
server04
server06
server01

hostname_new.txt(有重复的名称)

server04
server01
server02
server04
server02

结果:

server04
server02
server05
server06

注意server04 和server02 如何出现在这个差异列表中,即使它们出现在两个输入文件中。

这就是我想要的:

server05
server06

【问题讨论】:

  • 不是很花哨,但类似| Where-Object {$_.SideIndicator -eq "<="} | Select-Object -ExpandProperty InputObject

标签: powershell compare compareobject


【解决方案1】:

在比较之前使用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 属性指示差异的源集) 987654327@ 默认输出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    相关资源
    最近更新 更多