Restituisce le voci univoche di un elenco ordinato.

Sintassi

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

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

Descrizione

Il cmdlet Get-Unique consente di confrontare le singole voci di un elenco ordinato con la voce successiva e di eliminare i duplicati restituendo una sola istanza di ciascuna voce. Per il corretto funzionamento del cmdlet l'elenco deve essere ordinato.

Parametri

-AsString

Considera i dati come una stringa. Se questo parametro non viene specificato, i dati vengono trattati come oggetto, pertanto quando si invia a Get-Unique una raccolta di oggetti dello stesso tipo, ad esempio una raccolta di file, ne viene restituito solo uno, ovvero il primo. È possibile utilizzare questo parametro per trovare i valori univoci di proprietà dell'oggetto, ad esempio i nomi file.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-InputObject <psobject>

Accetta input per Get-Unique. Immettere una variabile contenente gli oggetti oppure digitare un comando o un'espressione che consente di ottenere gli oggetti.

Get-Unique tratta l'input inviato tramite InputObject come raccolta; non enumera i singoli elementi della raccolta. Poiché l'insieme è costituito da un singolo elemento, l'input inviato tramite InputObject verrà sempre restituito senza modifiche.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByValue)

Accettare caratteri jolly?

false

-OnType

Restituisce solo un oggetto di ciascun tipo.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.Management.Automation.PSObject

È possibile reindirizzare qualsiasi tipo di oggetto a Get-Unique.

Output

System.Management.Automation.PSObject

Il tipo di oggetto restituito da Get-Unique viene determinato dall'input.

Note

È inoltre possibile fare riferimento a Get-Unique tramite il relativo alias predefinito "gu". Per ulteriori informazioni, vedere about_Aliases.

Per ordinare un elenco, utilizzare Sort-Object. È inoltre possibile utilizzare il parametro Unique di Sort-Object per trovare le voci univoche di un elenco.

Esempio 1

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

C:\PS> $a.count

Descrizione
-----------
Tramite questi comandi verrà trovato il numero di parole univoche in un file di testo. 

Tramite il primo comando verrà ottenuto il contenuto del file File.txt. Ogni riga di testo verrà convertita in lettere minuscole e ogni parola verrà spostata su una riga distinta in corrispondenza dello spazio (" "). L'elenco risultante verrà quindi ordinato alfabeticamente (impostazione predefinita). Verrà utilizzato il cmdlet Get-Unique per eliminare le eventuali parole duplicate. I risultati verranno archiviati nella variabile $a.

Nel secondo comando verrà invece utilizzata la proprietà Count dell'insieme di stringhe archiviate in $a per determinare il numero di voci incluse in $a.






Esempio 2

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

Descrizione
-----------
Tramite questo comando verranno trovati i membri univoci del set di valori integer. Nel primo comando una matrice di valori interi digitati sulla riga di comando verranno reindirizzati al cmdlet Sort-Object per essere ordinati e quindi reindirizzati a Get-Unique, che consente di eliminare le voci duplicate.






Esempio 3

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

Descrizione
-----------
In questo comando verrà utilizzato il cmdlet Get-ChildItem per recuperare il contenuto della directory locale, che include file e directory. I risultati vengono inviati al cmdlet Sort-Object dall'operatore pipeline (|). L'istruzione "$_.GetType()" consentirà di applicare il metodo GetType a ogni file o directory. Gli elementi verranno ordinati in base al tipo tramite Sort-Object. Verrà infine utilizzato un altro operatore pipeline per inviare i risultati a Get-Unique. Il parametro OnType indicherà a Get-Unique di restituire un solo oggetto di ciascun tipo.






Esempio 4

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

Descrizione
-----------
Tramite questo comando verrà ottenuto un elenco senza duplicati dei nomi dei processi in esecuzione nel computer. 

Con il comando Get-Process si otterranno tutti i processi in esecuzione nel computer. Verrà quindi utilizzato l'operatore pipeline (|) per passare il risultato a Sort-Object, che, per impostazione predefinita, ordina alfabeticamente i processi in base a ProcessName. I risultati verranno reindirizzati al cmdlet Select-Object, che selezionerà solo i valori della proprietà ProcessName di ciascun oggetto. I risultati verranno infine inviati a Get-Unique per l'eliminazione dei duplicati. 

Il parametro AsString indicherà a Get-Unique di considerare i valori ProcessName come stringhe. Se questo parametro non viene specificato, i valori ProcessName verranno considerati come oggetti, pertanto Get-Unique restituirà una sola istanza dell'oggetto, ovvero il nome del primo processo dell'elenco.






Vedere anche




Argomenti della Guida