Compartilhar via


Get-Unique

Retorna os itens exclusivos de uma lista classificada.

Sintaxe

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

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

Descrição

O cmdlet Get-Unique compara cada item em uma lista classificada ao próximo item, elimina duplicações e retorna somente uma instância de cada item. A lista deve ser classificada para que o cmdlet funcione corretamente.

Parâmetros

-AsString

Considera os dados como uma cadeia de caracteres. Sem esse parâmetro, os dados são tratados como objeto, de forma que quando você envia uma coleção de objetos do mesmo tipo para Get-Unique, como uma coleção de arquivos, ele retorna somente um (o primeiro). Você pode usar esse parâmetro para localizar os valores exclusivos das propriedades de objeto, como nomes de arquivo.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-InputObject <psobject>

Aceita entrada para Get-Unique. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtenha os objetos.

Get-Unique trata a entrada enviada usando o InputObject como uma coleção; ele não enumera os itens individuais na coleção. Como a coleção é um item individual, a entrada enviada usando o InputObject é sempre retornada sem alterações.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

true (ByValue)

Aceitar caracteres curinga?

false

-OnType

Retorna apenas um objeto de cada tipo.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas

System.Management.Automation.PSObject

Você pode canalizar qualquer tipo de objeto para Get-Unique.

Saídas

System.Management.Automation.PSObject

O tipo de objeto que Get-Unique retorna é determinado pela entrada.

Observações

Você também pode fazer referência a Get-Unique usando seu alias interno, "gu". Para obter mais informações, consulte about_Aliases.

Para classificar uma lista, use Sort-Object. Você também pode usar o parâmetro Unique de Sort-Object para localizar os itens exclusivos em uma lista.

Exemplo 1

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

C:\PS> $a.count

Descrição
-----------
Esses comandos localizam o número de palavras exclusivas em um arquivo de texto. 

O primeiro comando obtém o conteúdo do arquivo File.txt. Ele converte cada linha de texto para letras minúsculas e divide cada palavra em uma linha separada no espaço (" "). Em seguida, ele classifica a lista resultante em ordem alfabética (o padrão) e usa o cmdlet Get-Unique para eliminar quaisquer palavras duplicadas. Os resultados são armazenados na variável $a.

O segundo comando usa a propriedade Count da coleção de cadeias de caracteres em $a para determinar quantos itens estão em $a.





Exemplo 2

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

Descrição
-----------
Este comando localiza os membros exclusivos do conjunto de inteiros. O primeiro comando usa uma matriz de inteiros digitados na linha de comando, canaliza-os para o cmdlet Sort-Object para que sejam classificados e, depois, canaliza-os para Get-Unique, o qual elimina as entradas duplicadas.





Exemplo 3

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

Descrição
-----------
Esse comando usa o cmdlet Get-ChildItem para recuperar o conteúdo do diretório local, que inclui arquivos e diretórios. O operador de pipeline (|) envia os resultados para o cmdlet Sort-Object. A declaração "$_.GetType()" aplica o método GetType para cada arquivo ou diretório. Em seguida, Sort-Object classifica os itens por tipo. Outro operador de pipeline envia os resultados para Get-Unique. O parâmetro OnType direciona Get-Unique para retornar apenas um objeto de cada tipo.





Exemplo 4

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

Descrição
-----------
Este comando obtém os nomes dos processos em execução no computador com as entradas duplicadas eliminadas. 

O comando Get-Process obtém todos os processos do computador. O operador de pipeline (|) passa o resultado para Sort-Object, que, por padrão, classifica os processos em ordem alfabética pelo ProcessName. Os resultados são canalizados para o cmdlet Select-Object, que seleciona apenas os valores da propriedade ProcessName de cada objeto. Os resultados são canalizados para Get-Unique, o qual eliminará as entradas duplicadas. 

O parâmetro AsString avisa Get-Unique para considerar os valores de ProcessName como cadeias de caracteres. Sem esse parâmetro, Get-Unique considera os valores de ProcessName como objetos e retorna somente uma instância do objeto, ou seja, o primeiro nome de processo na lista.





Consulte também

Conceitos

Select-Object
Sort-Object