【发布时间】:2014-06-18 12:47:57
【问题描述】:
我看过的所有地方都向我展示了处理物理文件的方法,但无论出于何种原因,不适用于数组。我宁愿不存储这些数据,然后从文件中调用,如果可能的话,直接使用数组。我被困在使用 PowerShell v2 但这仍然是可行的。提前感谢所有帮助。
我有一个名为 $net_final 的数组,它具有以下值:
63.232.3.102
63.232.3.102
64.339.161.5
64.339.161.5
64.339.161.5
64.339.161.5
64.339.161.5
64.339.161.5
19.19.19.19
19.19.19.19
19.19.19.19
19.19.19.19
19.19.19.19
19.19.19.19
19.19.19.19
63.339.161.7
63.339.161.7
63.339.161.7
63.339.161.7
63.339.161.7
然后我执行以下操作以获取在此数组中出现 5 次或更多次的 IP 列表:
($net_final | Group-Object | Where-Object {$_.Count -ge 5} |
Format-Table -HideTableHeaders -Property Name | Out-String).Trim()
这让我得到了这个输出:
64.339.161.5
19.19.19.19
63.339.161.7
但是我似乎无法让它们在同一行上用逗号分隔。使用$net_final -Join "," 和($net_final | Select-Object -Unique) -Join "," 之类的东西,仅从数组中创建一个以逗号分隔的列表并不复杂,但我需要获取出现$N 次的数组项。
预期输出:
64.339.161.5,19.19.19.19,63.339.161.7
【问题讨论】:
标签: arrays windows sorting powershell powershell-2.0