Sdílet prostřednictvím


Get-Unique

Vrátí jedinečné položky z seřazeného seznamu.

Syntax

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

Description

Rutina Get-Unique porovná každou položku v seřazeného seznamu s další položkou, odstraní duplicity a vrátí pouze jednu instanci každé položky. Aby rutina fungovala správně, musí být seznam seřazený.

Get-Unique rozlišuje malá a velká písmena. V důsledku toho jsou řetězce, které se liší pouze velikostí písmen, považovány za jedinečné.

Příklady

Příklad 1: Získání jedinečných slov v textovém souboru

Tyto příkazy vyhledá počet jedinečných slov v textovém souboru.

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

První příkaz získá obsah souboru File.txt. Převede každý řádek textu na malá písmena a potom rozdělí každé slovo na samostatný řádek v mezerě (" "). Potom seřadí výsledný seznam abecedně (výchozí) a pomocí Get-Unique rutiny odstraní všechna duplicitní slova. Výsledky se ukládají do $A proměnné .

Druhý příkaz používá vlastnost Count kolekce řetězců v $A nástroji k určení počtu položek v $Asouboru .

Příklad 2: Získání jedinečných celých čísel v poli

Tento příkaz najde jedinečné členy sady celých čísel.

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

První příkaz vezme pole celých čísel zadaných na příkazovém řádku, předá je do Sort-Object rutiny, která se má seřadit, a pak je předá do Get-Unique, což eliminuje duplicitní položky.

Příklad 3: Získání jedinečných typů objektů v adresáři

Tento příkaz používá rutinu Get-ChildItem k načtení obsahu místního adresáře, který zahrnuje soubory a adresáře.

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

Operátor kanálu (|) odešle výsledky do rutiny Sort-Object . Příkaz $_.GetType() aplikuje metodu GetType na každý soubor nebo adresář. Sort-Object Potom seřadí položky podle typu. Jiný operátor kanálu odešle výsledky do Get-Unique. Parametr OnType nasměruje Get-Unique k vrácení pouze jednoho objektu každého typu.

Příklad 4: Získání jedinečných procesů

Tento příkaz získá názvy procesů spuštěných v počítači s odstraněním duplicit.

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

Příkaz Get-Process načte všechny procesy v počítači. Operátor kanálu (|) předá výsledek do Sort-Object, který ve výchozím nastavení seřadí procesy abecedně podle processName. Výsledky se předávají do Select-Object rutiny , která vybere pouze hodnoty vlastnosti ProcessName každého objektu. Výsledky se pak předávají do , Get-Unique aby se odstranily duplicity.

Parametr AsString říká Get-Unique , že se má zacházet s hodnotami ProcessName jako s řetězci. Bez tohoto parametru Get-Unique zachází s hodnotami ProcessName jako s objekty a vrací pouze jednu instanci objektu, tj. název prvního procesu v seznamu.

Parametry

-AsString

Označuje, že tato rutina používá data jako řetězec. Bez tohoto parametru se s daty zachází jako s objektem, takže když do odešlete kolekci objektů stejného typu Get-Unique, například kolekci souborů, vrátí jenom jeden (první). Tento parametr můžete použít k vyhledání jedinečných hodnot vlastností objektu, jako jsou například názvy souborů.

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

-InputObject

Určuje vstup pro Get-Unique. Zadejte proměnnou, která obsahuje objekty, nebo zadejte příkaz nebo výraz, který získá objekty.

Tato rutina zpracovává vstup odeslaný pomocí inputObject jako kolekci. nevypíše jednotlivé položky v kolekci. Vzhledem k tomu, že kolekce je jedna položka, vstup odeslaný pomocí InputObject se vždy vrátí beze změny.

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

-OnType

Označuje, že tato rutina vrací pouze jeden objekt každého typu.

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

Vstupy

PSObject

Do objektu můžete vytvořit Get-Uniquekanál pro libovolný typ objektu.

Výstupy

PSObject

Typ objektu, který vrací, Get-Unique je určen vstupem.

Poznámky

Můžete také odkazovat Get-Unique pomocí předdefinovaných aliasů gu. Další informace najdete v tématu about_Aliases.

Pokud chcete seznam seřadit, použijte Sort-Object. K vyhledání jedinečných položek v seznamu můžete použít také parametr Unique .Sort-Object