Get-Unique
Egyedi elemeket ad vissza egy rendezett listából.
Syntax
AsString (Alapértelmezett)
Get-Unique
[-InputObject <PSObject>]
[-AsString]
[-CaseInsensitive]
[<CommonParameters>]
UniqueByType
Get-Unique
[-InputObject <PSObject>]
[-OnType]
[-CaseInsensitive]
[<CommonParameters>]
Description
A Get-Unique parancsmag összehasonlítja a rendezett lista 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 a Get-Unique megkülönbözteti 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 külön sorra osztja a szóközzel (" "). Ezután betűrendbe rendezi az eredményül kapott listát (alapértelmezett), és a Get-Unique parancsmag használatával kiküszöböli az ismétlődő szavakat. Az eredmények a $A változóban vannak tárolva.
A második parancs a sztringgyűjteményének $A tulajdonságával határozza meg, hogy hány elem található $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 beírt egész számokból álló tömböt vesz fel, a rendezendő Sort-Object parancsmagra irányítja őket, majd a Get-Uniqueirányítja őket, 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. A $_.GetType() utasítás a GetType metódust alkalmazza minden fájlra vagy könyvtárra. Ezután Sort-Object típus szerint rendezi az elemeket. Egy másik folyamatüzemeltető elküldi az eredményeket Get-Unique. Az OnType paraméter arra irányí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 az összes folyamatot lekéri a számítógépen. A folyamat operátora (|) átadja az eredményt Sort-Object, amely alapértelmezés szerint betűrendbe rendezi a folyamatokat ProcessNameszerint. 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ények ezután Get-Unique lesznek, hogy kiküszöböljék az ismétlődéseket.
Az AsString paraméter sztringként jelzi a Get-Unique értékeinek sztringként való kezelését a .
E paraméter nélkül Get-Unique a ProcessName értékeket objektumként kezeli, é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 Get-Unique, például egy fájlgyűjteményt, 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.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
AsString
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-CaseInsensitive
Alapértelmezés szerint a Get-Unique megkülönbözteti 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.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-InputObject
A Get-Uniquebemenetét adja meg. 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 gyűjteményként kezeli az InputObject használatával elküldött bemenetet. Nem számba veszi a gyűjtemény egyes elemeit. Mivel a gyűjtemény egyetlen elem, a InputObject használatával elküldött bemenetek mindig változatlanul lesznek visszaadva.
Paramétertulajdonságok
| Típus: | PSObject |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-OnType
Azt jelzi, hogy ez a parancsmag csak egy objektumot ad vissza minden típusból.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
UniqueByType
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
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 tartalmazza Get-Unique:
- Minden platform:
gu
További információ: about_Aliases.
Lista rendezéséhez használja a Sort-Object. A Sort-Object paraméterével is megkeresheti a lista egyedi elemeit.