Ovunque ho guardato mi ha mostrato metodi per farlo funzionare con file fisici ma, per qualsiasi motivo, non con un array. Preferirei non avere questi dati memorizzati, quindi chiamati da un file e lavorare direttamente con l'array se questo è possibile. Sono bloccato utilizzando PowerShell v2, ma questo dovrebbe essere ancora possibile. Apprezzo qualsiasi aiuto in anticipo.
Ho un array chiamato $net_final
che ha i seguenti valori:
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
Ho quindi effettuare le seguenti operazioni per ottenere una lista di IP che si verificano 5 o più volte in questo array:
($net_final | Group-Object | Where-Object {$_.Count -ge 5} | Format-Table -HideTableHeaders -Property Name | Out-String).Trim()
il che mi fa questa uscita:
64.339.161.5
19.19.19.19
63.339.161.7
Tuttavia non riesco a ottenere la virgola delimitata sulla stessa riga. Creare un elenco delimitato da virgole solo dall'array è abbastanza semplice con cose come $net_final -Join ","
e ($net_final | Select-Object -Unique) -Join ","
, ma ho bisogno di prendere gli elementi dell'array che si verificano $ N numero di volte.
output previsto:
64.339.161.5,19.19.19.19,63.339.161.7
Grazie mille. Funziona come un fascino. Non posso credere di essere così vicino alla risposta e non me ne sono reso conto. Frustrante, ma ancora grazie mille. – beardedeagle