Come rimuovere i duplicati da un array PowerShell?Rimozione di valori duplicati da un array PowerShell
$a = @(1,2,3,4,5,5,6,7,8,9,0,0)
Come rimuovere i duplicati da un array PowerShell?Rimozione di valori duplicati da un array PowerShell
$a = @(1,2,3,4,5,5,6,7,8,9,0,0)
Usa Select -uniq
es .:
$a = @(1,2,3,4,5,5,6,7,8,9,0,0)
$a = $a | select -uniq
Un'altra opzione:
$a | sort -unique
risolve anche il mio prossimo problema che è come faccio a risolverlo. Grazie! –
Anche questo sembra un po 'più veloce. –
Se la lista è ordinata, è possibile utilizzare il cmdlet Get-Unique:
$a | Get-Unique
Richiede la lista da ordinare in anticipo –
$a | sort -unique
Questo funziona con case-insensitive, quindi rimuovendo le stringhe duplicate con casi diversi. Risolto il mio problema
$ServerList = @(
"FS3",
"HQ2",
"hq2"
) | sort -Unique
$ServerList
FS3
HQ2
Nel caso in cui si desidera essere pienamente bombardare dimostrare, questo è quello che vorrei consigliare:
@('Apples', 'Apples ', 'APPLES', 'Banana') |
Sort-Object -Property @{Expression={$_.Trim()}} -Unique
uscita:
Apples
Banana
Questo utilizza il parametro Property
alla prima Trim()
le stringhe, quindi gli spazi extra vengono rimossi e quindi seleziona solo i valori -Unique
.
Maggiori informazioni Sort-Object
:
Get-Help Sort-Object -ShowWindow
Risposta stupenda. Risolto il mio problema, 'Get-Unique' non ha funzionato perché gli spazi –
Sei il benvenuto, lieto che abbia aiutato :) – DarkLite1
Sia che si sta utilizzando "SORT Esclusivo", "SELECT Esclusivo" o "GET-UNICO" da Powershell 2,0-5,1, tutti gli esempi forniti sono array di colonne singole. Devo ancora farlo funzionare su Array con più colonne per RIMUOVERE le righe duplicate per lasciare singole occorrenze di una riga su dette colonne o sviluppare una soluzione di script alternativa. Invece questi cmdlet hanno restituito solo righe in una matrice che si è verificata UNA VOLTA con occorrenza singolare e scaricato tutto ciò che aveva un duplicato. In genere devo rimuovere manualmente i duplicati dall'output CSV finale in Excel per completare il report, ma a volte vorrei continuare a lavorare con tali dati in Powershell dopo aver rimosso i duplicati.
È stato troppo semplice :-(In PowerShell 2 è anche possibile utilizzare 'Get-Unique' (o' gu') se l'array è già ordinato. – Joey
Johannes, Get-Unique è disponibile in v1 :) –