您好,我正在尝试计算两个值匹配的箭头数。
这是我如何将值放入我的数组中:
$obj | add-member -name "Site" -membertype Noteproperty -value $sitecode
$obj | add-member -name "Location" -membertype Noteproperty -value $location
$obj | add-member -name "SwitchName" -membertype Noteproperty -value $swname
$obj | add-member -name "MacAddress" -membertype Noteproperty -value $mac
$obj | add-member -name "Interface" -membertype Noteproperty -value $eth
$obj | add-member -name "Macvendor" -membertype Noteproperty -value ""
$obj | add-member -name "IP" -membertype Noteproperty -value ""
$tab += $obj
现在我想计算 SwitchName/Interface 的每个组合。
例如我的数组可以包含以下值:
Switchname=foo,portX
Switchname=foo,portY
Switchname=foo,portX
Switchname=foo,portZ
Switchname=bar,portX
Switchname=bar,portZ
Switchname=bar,portT
我希望能够得到:
Switchname=foo,portX,2
Switchname=foo,portY,1
Switchname=foo,portZ,1
Switchname=bar,portX,1
Switchname=bar,portZ,1
Switchname=bar,portT,1
我目前正在考虑使用另一个表来计算所有这些。有更简单的方法吗?
谢谢。
最佳答案
使用 Group-Object
cmdlet:
PS C:\> $tab |Group-Object -Property SwitchName,Interface -NoElement
Count Name
----- ----
2 foo, portX
1 foo, portY
1 foo, portZ
1 bar, portX
1 bar, portZ
1 bar, portT
关于arrays - 使用 powershell 的数组中的 "Counting",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41985506/