Sdílet prostřednictvím


Get-Unique

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

Syntax

AsString (Výchozí)

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

UniqueByType

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

Description

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

Get-Unique rozlišují malá a velká písmena. Výsledkem je, že řetězce, které se liší pouze v písmenech znaků, jsou 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 najdou 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 poté rozdělí každé slovo na samostatný řádek v mezeře (" "). Potom seřadí výsledný seznam abecedně (výchozí) a použije rutinu Get-Unique k odstranění duplicitních slov. Výsledky jsou uloženy v proměnné $A.

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

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 potom je seřadí 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ý obsahuje 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() použije metodu GetType pro každý soubor nebo adresář. Potom Sort-Object seřadí položky podle typu. Jiný operátor kanálu odešle výsledky do Get-Unique. Parametr OnType směruje Get-Unique tak, aby vracel pouze jeden objekt 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ými duplicitními položkami.

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

Příkaz Get-Process získá všechny procesy v počítači. Operátor kanálu (|) předá výsledek programu Sort-Object, který ve výchozím nastavení seřadí procesy abecedně podle parametru ProcessName. Výsledky jsou předány rutině Select-Object , která vybere pouze hodnoty vlastnosti ProcessName každého objektu. Výsledky se pak předají tak, aby se Get-Unique eliminovaly duplicity.

Parametr AsString říká Get-Unique, aby s hodnotami ProcessName zacházet jako s řetězci. Bez tohoto parametru Get-Unique považuje ProcessName hodnoty jako objekty a vrátí 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 data považují za objekt, takže když odešlete kolekci objektů stejného typu do Get-Unique, například kolekce souborů, vrátí pouze jednu (první). Tento parametr můžete použít k vyhledání jedinečných hodnot vlastností objektu, jako jsou názvy souborů.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

AsString
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-InputObject

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

Tato rutina zpracovává vstup odeslaný pomocí InputObject jako kolekce. nevypisuje jednotlivé položky v kolekci. Protože kolekce je jedna položka, vstup odeslaný pomocí InputObject je vždy vrácen beze změny.

Vlastnosti parametru

Typ:PSObject
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:True
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-OnType

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

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

UniqueByType
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

PSObject

Do souboru můžete přesměrovat libovolný typ objektu .Get-Unique

Výstupy

PSObject

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

Poznámky

Můžete také odkazovat na Get-Unique jeho předdefinovaný alias gu. Další informace viz about_Aliases.

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