Megosztás a következőn keresztül:


Get-Unique

Egyedi elemeket ad vissza egy rendezett listából.

Syntax

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

Description

A Get-Unique parancsmag összehasonlítja a rendezett lista egyes elemeit a következő elemekkel, kiküszöböli az ismétlődéseket, és csak egy példányt ad vissza az egyes elemekből. A listát úgy kell rendezni, hogy a parancsmag megfelelően működjön.

Alapértelmezés szerint Get-Unique a kis- és nagybetűk megkülönböztetése. Ennek eredményeképpen a csak karakterházként eltérő sztringek egyedinek minősülnek.

Példák

1. példa: Egyedi szavak lekérése szövegfájlban

Ezek a parancsok a szövegfájlban található egyedi szavak számát keresik.

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

Az első parancs lekéri a File.txt fájl tartalmát. Az egyes szövegsorokat kisbetűkké alakítja, majd az egyes szavakat egy külön sorra osztja a szóköznél (" "). Ezután betűrendbe rendezi az eredményül kapott listát (alapértelmezett), és a parancsmag használatával kiküszöböli az Get-Unique ismétlődő szavakat. Az eredmények a $A változóban vannak tárolva.

A második parancs a sztringek $A gyűjteményének Darabszám tulajdonságát használja annak meghatározására, hogy hány elem van a fájlban$A.

2. példa: Egyedi egész számok lekérése tömbben

Ez a parancs megkeresi az egész számok készletének egyedi tagjait.

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

Az első parancs a parancssorba begépelt egész számokat tartalmazó tömböt vesz fel, a rendezendő parancsmagba Sort-Object irányítja őket, majd azokat a parancsmagba Get-Uniqueirányítja, ami kiküszöböli az ismétlődő bejegyzéseket.

3. példa: Egyedi objektumtípusok lekérése egy könyvtárban

Ez a parancs a Get-ChildItem parancsmaggal kéri le a helyi könyvtár tartalmát, amely fájlokat és könyvtárakat is tartalmaz.

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

A folyamatkezelő (|) elküldi az eredményeket a Sort-Object parancsmagnak. Az $_.GetType() utasítás minden fájlra vagy könyvtárra alkalmazza a GetType metódust. Sort-Object Ezután típus szerint rendezi az elemeket. Egy másik folyamatüzemeltető elküldi az eredményeket a következőnek Get-Unique: . Az OnType paraméter arra utasítja Get-Unique , hogy minden típusból csak egy objektumot adjon vissza.

4. példa: Egyedi folyamatok lekérése

Ez a parancs lekéri a számítógépen futó folyamatok nevét, és az ismétlődések kiküszöbölhetők.

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

A Get-Process parancs lekéri az összes folyamatot a számítógépen. A folyamatkezelő (|) átadja az eredménytSort-Object, amely alapértelmezés szerint a folyamatokat a ProcessName betűrendbe rendezi. Az eredmények a Select-Object parancsmagra vannak állítva, amely csak az egyes objektumok ProcessName tulajdonságának értékeit választja ki. Az eredményeket ezután a rendszer a duplikációk kiküszöbölésére Get-Unique csövezi.

Az AsString paraméter azt jelzi Get-Unique , hogy a ProcessName értékeket sztringekként kell kezelni. E paraméter Get-Unique nélkül a ProcessName értékek objektumként lesznek kezelve, és az objektumnak csak egy példányát adja vissza, azaz a lista első folyamatnevét.

5. példa: Kis- és nagybetűket megkülönböztető összehasonlítások használata egyedi sztringek lekéréséhez

Ez a példa kis- és nagybetűket nem érzékelyítő összehasonlításokat használ a sztringek tömbjének egyedi sztringjeinek lekéréséhez.

"aa", "Aa", "Bb", "bb", "aa" | Sort-Object -CaseSensitive | Get-Unique

aa
Aa
bb
Bb

6. példa: Egyedi sztringek lekéréséhez használjon kis- és nagybetűket érzéketlen összehasonlításokkal

Ez a példa kis- és nagybetűket nem érzékelyítő összehasonlításokat használ a sztringek tömbjének egyedi sztringjeinek lekéréséhez.

"aa", "Aa", "Bb", "bb", "aa" | Sort-Object | Get-Unique -CaseInsensitive

aa
Bb

Paraméterek

-AsString

Azt jelzi, hogy ez a parancsmag sztringként használja az adatokat. E paraméter nélkül az adatok objektumként lesznek kezelve, így amikor egy azonos típusú objektumgyűjteményt küld be , például egy fájlgyűjteményt Get-Unique, az csak egyet (az elsőt) ad vissza. Ezzel a paraméterlel megkeresheti az objektumtulajdonságok egyedi értékeit, például a fájlneveket.

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

-CaseInsensitive

Alapértelmezés szerint Get-Unique a kis- és nagybetűk megkülönböztetése. Ha ezt a paramétert használja, a parancsmag kis- és nagybetűk érzéketlen összehasonlítását használja.

Ez a paraméter a PowerShell 7.4-ben lett hozzáadva.

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

-InputObject

Megadja a bemenetet a következőhöz Get-Unique: . Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat.

Ez a parancsmag az InputObject használatával küldött bemenetet gyűjteményként kezeli. Nem számba veszi a gyűjtemény egyes elemeit. Mivel a gyűjtemény egyetlen elem, az InputObject használatával elküldött bemenetek mindig változatlanul lesznek visszaadva.

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

-OnType

Azt jelzi, hogy ez a parancsmag csak egy objektumot ad vissza minden típusból.

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

Bevitelek

PSObject

Ehhez a parancsmaghoz bármilyen típusú objektumot csövezhet.

Kimenetek

PSObject

Ez a parancsmag duplikációk nélkül adja vissza a bemeneti objektumokat.

Jegyzetek

A PowerShell a következő aliasokat Get-Uniquetartalmazza:

  • Minden platform:
    • gu

További információ: about_Aliases.

Lista rendezéséhez használja Sort-Objecta következőt: . Az Egyedi paraméterrel Sort-Object is megkeresheti az egyedi elemeket a listában.