快速问题
有没有更好(即更有效/更简洁)的方法来做到这一点?
compare-object $a $b | ?{$_.SideIndicator -eq '<='}
详情
Compare-Object
给出参数 -excludeDifferent
和 -includeEqual
允许您修改您得到的结果。-includeEqual
为您提供完整的外连接 -excludeDifferent
毫无意义;因为默认情况下相等的项目被排除在外,所以它现在将排除所有内容。 -includeLeft
没有选项, -excludeLeft
或类似。目前要进行右侧为空的左外连接(即引用对象中的项目不在差异对象中),我需要按照上面的代码手动过滤结果。
我错过了什么/有更好的方法吗?
http://ss64.com/ps/compare-object.html
最佳答案
该 cmdlet 没有类似的选项,但是您可以创建一个过滤器(例如在您的个人资料中),然后使用它来过滤结果:
就像是
filter leftside{
param(
[Parameter(Position=0, Mandatory=$true,ValueFromPipeline = $true)]
[ValidateNotNullOrEmpty()]
[PSCustomObject]
$obj
)
$obj|?{$_.sideindicator -eq '<='}
}
用法
compare-object $a $b | leftside
关于powershell - 仅比较对象左侧或右侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28342081/