Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Powershell从IP';发生次数为$N的_Arrays_Windows_Sorting_Powershell_Powershell 2.0 - Fatal编程技术网

Arrays Powershell从IP';发生次数为$N的

Arrays Powershell从IP';发生次数为$N的,arrays,windows,sorting,powershell,powershell-2.0,Arrays,Windows,Sorting,Powershell,Powershell 2.0,我所看到的每一个地方都向我展示了处理物理文件的方法,但不管出于什么原因,都不能使用数组。我不希望存储这些数据,然后从文件调用,如果可能的话,直接使用数组。我一直在使用PowerShell v2,但这仍然是可行的。我感谢所有的帮助 我有一个名为$net\u 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 1

我所看到的每一个地方都向我展示了处理物理文件的方法,但不管出于什么原因,都不能使用数组。我不希望存储这些数据,然后从文件调用,如果可能的话,直接使用数组。我一直在使用PowerShell v2,但这仍然是可行的。我感谢所有的帮助

我有一个名为
$net\u 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|u final | Group Object | Where Object{$\.Count-ge 5})
格式表-HideTableHeaders-属性名称|输出字符串).Trim()

这让我得到了这个输出:

64.339.161.5
19.19.19.19
63.339.161.7
但是,我似乎无法将它们用逗号分隔在同一行上。仅从数组中生成逗号分隔的列表对于
$net\u final-Join“,“
($net\u final | Select Object-Unique)-Join“,“
之类的事情来说相当简单,但我需要获取出现次数为$N的数组项

预期产出


64.339.161.5,19.19.19,63.339.161.7

给你,一个漂亮的小内衬:

($net_final|group|?{$_.count -ge 5}|Select -ExpandProperty Name) -join ","
这将产生:

64.339.161.5,19.19.19.19,63.339.161.7

我对MadTechnician给出的解决方案有疑问,但发现以下方法非常有效:


$my_array-join”,“
阅读速度更快/更简单:

$test = (1,3,7,7,3,2,1)
$($test | sort -Unique) -join "," 
1,2,3,7


您可以使用-unique标志对任何阵列进行排序,以消除重复数据;然后,可以将包装好的变量与首选分隔符联接

非常感谢你。工作起来很有魅力。我不敢相信我离答案这么近,却没有意识到。令人沮丧,但再次非常感谢。对我来说也很有用。谢谢。问题是它会给所有的IP加上逗号,而不仅仅是唯一的,而原始帖子只想在有5个或更多重复的地方加上逗号,这也不能解释。您的代码返回所有15个IP地址,并用逗号连接。这与mgood1的答案有相同的问题。这将收集所有唯一的条目,其中请求者只需要重复一定次数的条目。