Powershell erstellen Sie eine durch Trennzeichen getrennte Liste von array von IP ' s, die auftreten, $N-mal
Überall, wo ich geschaut haben, hat mir gezeigt, Methoden, dies zu tun, dass die Arbeit mit physischen Akten aber, aus welchem Grund auch immer, nicht mit einem array. Ich würde eher nicht das die Daten gespeichert, dann aufgerufen, aus einer Datei, und nur die Arbeit direkt mit dem array, wenn das möglich ist. Ich bin stecken mit PowerShell v2 aber das sollte noch machbar sein. Ich Schätze jede und alle Hilfe im Voraus.
Ich habe ein array namens $net_final
hat die folgenden Werte:
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
Ich dann Folgendes tun, um eine Liste von IP ' s, die auftreten, 5 oder mehr mal in diesem array:
($net_final | Group-Object | Where-Object {$_.Count -ge 5} |
Format-Table -HideTableHeaders -Property Name | Out-String).Trim()
Welche mich bekommt diese Ausgabe:
64.339.161.5
19.19.19.19
63.339.161.7
Aber ich kann nicht scheinen, um Sie durch Komma getrennt in der gleichen Zeile. Machen Sie eine durch Komma getrennte Liste aus, nur das array ist ziemlich unkompliziert mit Dingen wie $net_final -Join ","
und ($net_final | Select-Object -Unique) -Join ","
, aber ich brauche, um zu greifen array-Elemente, die auftreten, $N-mal.
Erwartete Ausgabe:
64.339.161.5,19.19.19.19,63.339.161.7
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier gehen Sie, eine schöne kleine one-liner für Sie:
Dass ausgegeben wird:
Hatte ich Probleme mit, die Lösung von TheMadTechnician, fand aber die folgenden großen Werke:
$my_array -join ","
Sogar schneller /einfacher zu Lesen:
1,2,3,7
Können Sie jedes beliebige array zu Sortieren, die -einzigartige Flagge, um die Deduplizierung; die eingebundenen Variablen können dann verbunden werden mit dem gewählten Trennzeichen.