Compartir a través de


Get-Unique

Devuelve los elementos únicos de una lista ordenada.

Sintaxis

Get-Unique [-AsString] [-InputObject <psobject>] [<CommonParameters>]

Get-Unique [-OnType] [-InputObject <psobject>] [<CommonParameters>]

Descripción

El cmdlet Get-Unique compara cada elemento de una lista ordenada con el elemento siguiente, elimina los duplicados y devuelve una sola instancia de cada elemento. La lista debe estar ordenada para que el cmdlet funcione correctamente.

Parámetros

-AsString

Trata los datos como una cadena. Sin este parámetro, los datos son tratados como si fueran un objeto. Por consiguiente, cuando se envía a Get-Unique un conjunto de objetos del mismo tipo, como un conjunto de archivos, este cmdlet devuelve solamente uno (el primero). Puede usar este parámetro para buscar valores únicos de las propiedades de objetos, como los nombres de archivo.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-InputObject <psobject>

Acepta la entrada del cmdlet Get-Unique. Especifique la variable que contiene los objetos o escriba un comando o una expresión que los obtenga.

Get-Unique trata la entrada enviada mediante InputObject como un conjunto; no enumera los diferentes elementos del conjunto. Dado que el conjunto es un solo elemento, la entrada enviada mediante InputObject siempre se devuelve sin cambios.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

true (ByValue)

¿Aceptar caracteres comodín?

false

-OnType

Devuelve exclusivamente un objeto de cada tipo.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

System.Management.Automation.PSObject

Puede canalizar cualquier tipo de objeto a Get-Unique.

Salidas

System.Management.Automation.PSObject

La entrada determina el tipo de objeto que Get-Unique devuelve.

Notas

También puede hacer referencia a Get-Unique mediante su alias integrado, "gu". Para obtener más información, vea about_Aliases.

Para ordenar una lista, use Sort-Object. También puede usar el parámetro Unique de Sort-Object para obtener los elementos únicos de una lista.

Ejemplo 1

C:\PS>$a = $(foreach ($line in get-content C:\Test1\File1.txt) {$line.tolower().split(" ")}) | sort | get-unique

C:\PS> $a.count

Descripción
-----------
Estos comandos buscan el número de palabras únicas en un archivo de texto. 

El primer comando obtiene el contenido del archivo File.txt. Pone en minúsculas cada línea del texto y, a continuación, separa cada palabra en una línea diferente conforme al espacio (" "). A continuación, ordena la lista resultante alfabéticamente (opción predeterminada) y usa el cmdlet Get-Unique para eliminar las palabras duplicadas. Los resultados se almacenan en la variable $a.

El segundo comando usa la propiedad Count de la colección de cadenas en la variable $a para determinar el número de elementos de $a.





Ejemplo 2

C:\PS>1,1,1,1,12,23,4,5,4643,5,3,3,3,3,3,3,3 | sort-object | Get-Unique

Descripción
-----------
Este comando busca los miembros únicos del conjunto de enteros. El primer comando toma una matriz de enteros escrita en la línea de comandos, canaliza los enteros al cmdlet Sort-Object para ordenarlos y, a continuación, los canaliza a Get-Unique para que se eliminen las entradas duplicadas.





Ejemplo 3

C:\PS>get-childitem | sort-object {$_.GetType()} |  unique -OnType

Descripción
-----------
Este comando usa el cmdlet Get-ChildItem para recuperar el contenido del directorio local, que contiene archivos y directorios. El operador de canalización (|) envía los resultados al cmdlet Sort-Object. La instrucción "$_.GetType()" aplica el método GetType a cada archivo o directorio. A continuación, Sort-Object ordena los elementos por tipo. Otro operador de canalización envía los resultados a Get-Unique. El parámetro OnType indica a Get-Unique que devuelva solo un objeto de cada tipo.





Ejemplo 4

C:\PS>get-process | sort-object | select processname | get-unique -asstring

Descripción
-----------
Este comando muestra los nombres de los procesos que se ejecutan en el equipo con los duplicados eliminados. 

El comando Get-Process obtiene todos los procesos del equipo. El operador de canalización (|) pasa el resultado a Sort-Object, que, de manera predeterminada, ordena los procesos alfabéticamente por la propiedad ProcessName. Los resultados se canalizan al cmdlet Select-Object, que selecciona únicamente los valores de la propiedad ProcessName de cada objeto. A continuación, se canalizan los resultados Get-Unique para que se eliminen las entradas duplicadas. 

El parámetro AsString indica a Get-Unique que trate los valores de ProcessName como cadenas. Sin este parámetro, Get-Unique trataría los valores de ProcessName como objetos y devolvería solamente una instancia del objeto, es decir, el primer nombre de proceso de la lista.





Vea también

Conceptos

Select-Object
Sort-Object