Retourne les éléments uniques dans une liste triée.

Syntaxe

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

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

Description

L'applet de commande Get-Unique compare chaque élément d'une liste triée à l'élément suivant, élimine les doublons et retourne une seule instance de chaque élément. La liste doit être triée pour que l'applet de commande s'exécute correctement.

Paramètres

-AsString

Traite les données en tant que chaîne. Sans ce paramètre, les données sont traitées en tant qu'objet, ce qui fait que lorsque vous envoyez une collection d'objets du même type à Get-Unique, une collection de fichiers par exemple, elle retourne un seul élément (le premier). Vous pouvez utiliser ce paramètre pour rechercher les valeurs uniques des propriétés de l'objet, telles que les noms de fichier.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-InputObject <psobject>

Accepte une entrée pour Get-Unique. Entrez une variable contenant les objets ou tapez une commande ou une expression qui obtient les objets.

Get-Unique traite l'entrée envoyée via InputObject en tant que collection ; elle n'énumère pas les différents éléments de la collection. Dans la mesure où la collection est un élément unique, l'entrée passée via InputObject est toujours retournée inchangée.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByValue)

Accepter les caractères génériques ?

false

-OnType

Retourne un seul objet de chaque type.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

System.Management.Automation.PSObject

Vous pouvez diriger n'importe quel type d'objet vers Get-Unique.

Sorties

System.Management.Automation.PSObject

Le type d'objet retourné par Get-Unique est déterminé par l'entrée.

Remarques

Vous pouvez également faire référence à Get-Unique par son alias intégré, « gu ». Pour plus d'informations, consultez about_Aliases.

Pour trier une liste, utilisez Sort-Object. Vous pouvez également utiliser le paramètre Unique de Sort-Object pour rechercher les éléments uniques dans une liste.

Exemple 1

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

C:\PS> $a.count

Description
-----------
Ces commandes recherchent le nombre de mots uniques dans un fichier texte. 

La première commande obtient le contenu du fichier File.txt. Elle convertit chaque ligne de texte en minuscules puis place chaque mot sur une ligne distincte au niveau de l'espace («   »). Elle trie ensuite la liste obtenue dans l'ordre alphabétique (par défaut) et utilise l'applet de commande Get-Unique pour éliminer tous les mots en double. Les résultats sont stockés dans la variable $a.

La seconde commande utilise la propriété Count de la collection de chaînes dans $a pour déterminer combien d'éléments se trouvent dans $a.






Exemple 2

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

Description
-----------
Cette commande recherche les membres uniques du jeu d'entiers. La première commande prend un tableau d'entiers tapés à la ligne de commande, les dirige vers l'applet de commande Sort-Object pour être triés, puis les dirige vers Get-Unique qui élimine les entrées en double.






Exemple 3

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

Description
-----------
Cette commande utilise l'applet de commande Get-ChildItem pour récupérer le contenu du répertoire local, qui inclut des fichiers et des répertoires. L'opérateur de pipeline (|) envoie les résultats à l'applet de commande Sort-Object. L'instruction « $_.GetType() » applique la méthode GetType à chaque fichier ou répertoire. Ensuite, Sort-Object trie les éléments en fonction de leur type. Un autre opérateur de pipeline envoie les résultats à Get-Unique. Le paramètre OnType indique à Get-Unique de retourner un seul objet de chaque type.






Exemple 4

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

Description
-----------
Cette commande obtient les noms des processus qui s'exécutent sur l'ordinateur une fois les doublons éliminés. 

La commande Get-Process obtient tous les processus sur l'ordinateur. L'opérateur de pipeline (|) passe le résultat à Sort-Object qui, par défaut, trie alphabétiquement les processus en fonction de leur nom (ProcessName). Les résultats sont dirigés vers l'applet de commande Select-Object, qui sélectionne uniquement les valeurs de la propriété ProcessName de chaque objet. Les résultats sont ensuite dirigés vers Get-Unique pour éliminer les doublons. 

Le paramètre AsString indique à Get-Unique de traiter les valeurs ProcessName en tant que chaînes. Sans ce paramètre, Get-Unique traite les valeurs ProcessName en tant qu'objets et retourne une seule instance de l'objet, autrement dit, le premier nom de processus de la liste.






Voir aussi




Table des matières