数组上的Group-Object?

时间:2015-09-17 22:27:27

标签: powershell

如何在以下数组的前两列(a,b)和(c,e)上使用Group-Object

$a = @('a','b','x',10), 
@('a','b','y',20), 
@('c','e','x',50), 
@('c','e','y',30)

1 个答案:

答案 0 :(得分:7)

Group-Object接受匿名计算的属性,代替属性名称:

PS C:\> $a | Group-Object @{ Expression={$_[0]} },@{ Expression = {$_[1]} }

它还接受ScriptBlock:

PS C:\> $a | Group-Object {$_[0]},{$_[1]}

只要表达式可以计算为字符串:

PS C:\> Get-Help Group-Object -Parameter Property

-Property [<Object[]>]
    Specifies the properties for grouping. The objects are arranged into groups 
    based on the value of the specified property.

    The value of the Property parameter can be a new calculated property. 
    To create a calculated, property, create a hash table with an Expression key
    that specifies a string or script block value.