Get-Unique

Retorna itens únicos por meio de uma lista classificada.

Syntax

Get-Unique
   [-InputObject <PSObject>]
   [-AsString]
   [<CommonParameters>]
Get-Unique
   [-InputObject <PSObject>]
   [-OnType]
   [<CommonParameters>]

Description

O Get-Unique cmdlet compara cada item em uma lista classificada com o próximo item, elimina duplicatas e retorna apenas uma instância de cada item. A lista deve ser classificada para que o cmdlet funcione corretamente.

Get-Unique diferencia maiúsculas de minúsculas. Como resultado, cadeias de caracteres que diferem apenas em maiúsculas e minúsculas são consideradas como sendo exclusivas.

Exemplos

Exemplo 1: Obter palavras exclusivas em um arquivo de texto

Estes comandos localizam o número de palavras exclusivas em um arquivo de texto.

$A = $( foreach ($line in Get-Content C:\Test1\File1.txt) {
    $line.tolower().split(" ")
  }) | Sort-Object | Get-Unique
$A.count

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

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

Exemplo 2: Obter inteiros exclusivos em uma matriz

Este comando localiza os membros exclusivos do conjunto de números inteiros.

1,1,1,1,12,23,4,5,4643,5,3,3,3,3,3,3,3 | Sort-Object | Get-Unique

1
3
4
5
12
23
4643

O primeiro comando usa uma matriz de inteiros digitados na linha de comando, redireciona-os para o Sort-Object cmdlet a ser classificado e, em seguida, os direciona para Get-Unique, o que elimina as entradas duplicadas.

Exemplo 3: Obter tipos de objeto exclusivos em um diretório

Esse comando usa o Get-ChildItem cmdlet para recuperar o conteúdo do diretório local, que inclui arquivos e diretórios.

Get-ChildItem | Sort-Object {$_.GetType()} | Get-Unique -OnType

O operador de pipeline (|) envia os resultados para o Sort-Object cmdlet. A $_.GetType() instrução aplica o método GetType a 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: Obter processos exclusivos

Este comando obtém os nomes dos processos em execução no computador com as duplicatas já eliminadas.

Get-Process | Sort-Object | Select-Object processname | Get-Unique -AsString

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

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

Parâmetros

-AsString

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Especifica a entrada para Get-Unique. Insira uma variável que contém os objetos ou digite um comando ou uma expressão que obtém os objetos.

Esse cmdlet trata a entrada enviada usando InputObject como uma coleção. ele não enumera itens individuais na coleção. Como a coleção é um único item, a entrada enviada usando InputObject sempre é retornada inalterada.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OnType

Indica que esse cmdlet retorna apenas um objeto de cada tipo.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

PSObject

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

Saídas

PSObject

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

Observações

Você também pode se referir por Get-Unique seu alias interno. gu Para obter mais informações, consulte about_Aliases.

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