arrays - 使用 powershell 的数组中的 "Counting"

标签 arrays powershell

您好,我正在尝试计算两个值匹配的箭头数。

这是我如何将值放入我的数组中:

            $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/

相关文章:

PowerShell:有没有办法在调试输出中添加时间/日期戳?

javascript - 为什么我在数组中推送的值未定义?

javascript - React + useState + Array + Mutation = 错误

exception - PowerShell:复制项抛出 DriveNotFoundException

sql-server - 数据仓库开发人员应该了解 Powershell 脚本吗?

powershell - 如何从 PowerShell 中的 catch block 重新抛出异常?

arrays - 快速解析数组中的加载数据

c# - 在 Visual C# 中使用数组?

javascript - MYSQL中查询数组

python - 使用Python脚本运行完全独立的powershell脚本