PowerShell中的Compare-Object无法仅显示差异
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PowerShell中的Compare-Object无法仅显示差异相关的知识,希望对你有一定的参考价值。
尝试下面的命令,但也在两个变量中获取类似的行条目
但我的要求只是显示两个变量的线条不同
值1的内容是:
2273.32689.312
123.33.2312.1
5693.2.3.2.1
value2的内容是:
67556327.2.211.33
123.33.2312.1
55673.222.33.4
输出应该是:
2273.32689.312
5693.2.3.2.1
67556327.2.211.33
55673.222.33.4
这些是我试过的命令:
Compare-Object $value1 $value2 | select -ExpandProperty inputobject
Compare-Object $value1 $value2 -Property "$property" | Format-Table -AutoSize
Compare-Object -ReferenceObject $value2 -DifferenceObject $value1 | select -expandproperty InputObject
答案
以下为我工作 -
$value1 = @('2273.32689.312', '123.33.2312.1', '5693.2.3.2.1')
$value2 = @('67556327.2.211.33', '123.33.2312.1', '55673.222.33.4')
Compare-Object -ReferenceObject $value2 -DifferenceObject $value1 | select -expandproperty InputObject
我得到了如下所需的输出 -
2273.32689.312
5693.2.3.2.1
67556327.2.211.33
55673.222.33.4
您粘贴的代码在InputObject
之后有一个额外的字符。你可能想在行中检查一次 -
Compare-Object -ReferenceObject $value2 -DifferenceObject $value1 | select -expandproperty InputObject
另一答案
如果您的输入对象包含具有多行的单个字符串,则应按新行拆分它们以创建字符串数组:(如果它们用空格分隔,请改用-split ' '
)
$value1 = $value1 -split '
'
$value2 = $value2 -split '
'
Compare-Object $value1 $value2
以上是关于PowerShell中的Compare-Object无法仅显示差异的主要内容,如果未能解决你的问题,请参考以下文章