¿Cómo puedo eliminar duplicados de una matriz de PowerShell?Eliminación de valores duplicados de una matriz de PowerShell
$a = @(1,2,3,4,5,5,6,7,8,9,0,0)
¿Cómo puedo eliminar duplicados de una matriz de PowerShell?Eliminación de valores duplicados de una matriz de PowerShell
$a = @(1,2,3,4,5,5,6,7,8,9,0,0)
Uso Select -uniq
ej .:
$a = @(1,2,3,4,5,5,6,7,8,9,0,0)
$a = $a | select -uniq
Otra opción:
$a | sort -unique
This también resuelve mi próximo problema, que es cómo lo clasifico. ¡Gracias! –
Este también parece un poco más rápido. –
Si la lista está ordenada, se puede usar el cmdlet Get-Unique:
$a | Get-Unique
Requiere que la lista se ordene de antemano –
$a | sort -unique
Esto funciona sin distinguir entre mayúsculas y minúsculas, por lo tanto, elimina cadenas duplicadas con diferentes casos. Resolvió mi problema
$ServerList = @(
"FS3",
"HQ2",
"hq2"
) | sort -Unique
$ServerList
FS3
HQ2
En caso de que quiera ser bombardear totalmente demostrar, esto es lo que aconsejaría:
@('Apples', 'Apples ', 'APPLES', 'Banana') |
Sort-Object -Property @{Expression={$_.Trim()}} -Unique
Salida:
Apples
Banana
Este utiliza el parámetro Property
a primera Trim()
las cadenas, por lo que se eliminan los espacios extra y luego selecciona solo los valores -Unique
.
Más información sobre Sort-Object
:
Get-Help Sort-Object -ShowWindow
Awesome answer. Resuelto mi problema, 'Get-Unique' no funcionó porque espacios –
De nada, me alegro de que haya ayudado :) – DarkLite1
Ya sea que esté usando "CLASIFICAR ÚNICO de", "SELECT ÚNICO de" o "GET-UNIQUE" de PowerShell 2.0 en 5.1, se todos los ejemplos dados están en Arrays de una sola columna. Todavía tengo que hacer que esto funcione en todas las matrices con varias columnas para eliminar filas duplicadas para dejar instancias individuales de una fila en dichas columnas, o desarrollar una solución de script alternativa. En cambio, estos cmdlets solo han devuelto Filas en una Matriz que se produjo UNA VEZ con ocurrencia singular y volcaron todo lo que tenía un duplicado. Normalmente, tengo que eliminar duplicados manualmente de la salida final de CSV en Excel para finalizar el informe, pero a veces me gustaría seguir trabajando con dichos datos en Powershell después de eliminar los duplicados.
Eso fue demasiado fácil :-(. En PowerShell 2 también puede usar 'Get-Unique' (o' gu') si su matriz ya está ordenada. – Joey
Johannes, Get-Unique está disponible en v1 :) –