Get-Unique
Retourneert unieke items uit een gesorteerde lijst.
Syntax
Get-Unique
[-InputObject <PSObject>]
[-AsString]
[<CommonParameters>]
Get-Unique
[-InputObject <PSObject>]
[-OnType]
[<CommonParameters>]
Description
De Get-Unique
cmdlet vergelijkt elk item in een gesorteerde lijst met het volgende item, elimineert duplicaten en retourneert slechts één exemplaar van elk item. De lijst moet worden gesorteerd om de cmdlet goed te laten werken.
Get-Unique
is hoofdlettergevoelig. Als gevolg hiervan worden tekenreeksen die alleen verschillen in tekenbehuizing als uniek beschouwd.
Voorbeelden
Voorbeeld 1: Unieke woorden ophalen in een tekstbestand
Met deze opdrachten wordt het aantal unieke woorden in een tekstbestand gevonden.
$A = $( foreach ($line in Get-Content C:\Test1\File1.txt) {
$line.tolower().split(" ")
}) | Sort-Object | Get-Unique
$A.count
Met de eerste opdracht wordt de inhoud van het File.txt
bestand opgeslagen. Elke tekstregel wordt geconverteerd naar kleine letters en vervolgens wordt elk woord gesplitst op een afzonderlijke regel in de spatie (" "
). Vervolgens wordt de resulterende lijst alfabetisch gesorteerd (de standaardinstelling) en wordt de Get-Unique
cmdlet gebruikt om dubbele woorden te elimineren. De resultaten worden opgeslagen in de $A
variabele.
De tweede opdracht maakt gebruik van de eigenschap Count van de verzameling tekenreeksen om $A
te bepalen in hoeveel items zich bevinden $A
.
Voorbeeld 2: Unieke gehele getallen ophalen in een matrix
Met deze opdracht worden de unieke leden van de set gehele getallen gevonden.
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
De eerste opdracht maakt gebruik van een matrix met gehele getallen die zijn getypt op de opdrachtregel, pijpt ze naar de Sort-Object
cmdlet die moet worden gesorteerd en pijpt ze vervolgens naar Get-Unique
, waardoor dubbele vermeldingen worden geëlimineerd.
Voorbeeld 3: Unieke objecttypen ophalen in een map
Met deze opdracht wordt de Get-ChildItem
cmdlet gebruikt om de inhoud van de lokale map op te halen, waaronder bestanden en mappen.
Get-ChildItem | Sort-Object {$_.GetType()} | Get-Unique -OnType
De pijplijnoperator (|
) verzendt de resultaten naar de Sort-Object
cmdlet. De $_.GetType()
instructie past de Methode GetType toe op elk bestand of elke map. Sort-Object
Vervolgens sorteert u de items op type. Een andere pijplijnoperator verzendt de resultaten naar Get-Unique
. De parameter OnType retourneert Get-Unique
slechts één object van elk type.
Voorbeeld 4: Unieke processen ophalen
Met deze opdracht worden de namen van processen die op de computer worden uitgevoerd, met dubbele waarden verwijderd.
Get-Process | Sort-Object | Select-Object processname | Get-Unique -AsString
De Get-Process
opdracht haalt alle processen op de computer op. De pijplijnoperator (|
) geeft het resultaat door aan Sort-Object
, waardoor de processen standaard alfabetisch worden gesorteerd op ProcessName. De resultaten worden doorgesluisd naar de Select-Object
cmdlet, die alleen de waarden van de eigenschap ProcessName van elk object selecteert. De resultaten worden vervolgens doorgesluisd om duplicaten te Get-Unique
elimineren.
De parameter AsString geeft aan Get-Unique
dat de ProcessName-waarden als tekenreeksen moeten worden behandeld.
Zonder deze parameter Get-Unique
worden de ProcessName-waardenbehandeld als objecten en wordt slechts één exemplaar van het object geretourneerd, dat wil gezegd de voornaam van het proces in de lijst.
Parameters
-AsString
Geeft aan dat deze cmdlet de gegevens als een tekenreeks gebruikt. Zonder deze parameter worden gegevens behandeld als een object, dus wanneer u een verzameling objecten van hetzelfde type Get-Unique
naar verzendt, zoals een verzameling bestanden, retourneert het slechts één (de eerste). U kunt deze parameter gebruiken om de unieke waarden van objecteigenschappen te vinden, zoals de bestandsnamen.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Hiermee geeft u invoer voor Get-Unique
. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald.
Deze cmdlet behandelt de invoer die is verzonden met behulp van InputObject als een verzameling. er worden geen afzonderlijke items in de verzameling opgesomd. Omdat de verzameling één item is, wordt invoer die wordt verzonden met behulp van InputObject , altijd ongewijzigd geretourneerd.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OnType
Geeft aan dat deze cmdlet slechts één object van elk type retourneert.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
U kunt elk type object doorsluisen naar deze cmdlet.
Uitvoerwaarden
Deze cmdlet retourneert de invoerobjecten zonder duplicaten.
Notities
PowerShell bevat de volgende aliassen voor Get-Unique
:
- Alle platforms:
gu
Zie about_Aliases voor meer informatie.
Als u een lijst wilt sorteren, gebruikt u Sort-Object
. U kunt ook de parameter Sort-Object
Uniek gebruiken om de unieke items in een lijst te vinden.
Verwante koppelingen
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor