Het sorteren van gegevens zou geen overdreven taak moeten zijn. Als je op zoek bent naar een efficiënte manier om gegevens te sorteren, staat de PowerShell \code{Sort-Object} cmdlet voor je klaar!
In deze tutorial leer je hoe je de PowerShell \code{Sort-Object} cmdlet kunt gebruiken om gegevens te sorteren, of het nu getallen, strings of objecten zijn.
Zeg vaarwel tegen het constant turen naar je gegevens en sorteer ze efficiënt in PowerShell!
Vereisten
Zorg ervoor dat je een machine hebt met PowerShell 5.0 of later geïnstalleerd om deze tutorial te volgen met de praktijkdemonstraties. Deze tutorial maakt gebruik van Windows 10 met PowerShell 7 geïnstalleerd.
Gegevens sorteren met de PowerShell \code{Sort-Object} cmdlet
Afhankelijk van je behoeften kun je gegevens op verschillende manieren sorteren op basis van één of meer eigenschappen. De \code{Sort-Object} cmdlet stelt je in staat om gegevens te sorteren, bijvoorbeeld in oplopende of aflopende volgorde, om het analyseren en werken met gestructureerde informatie te vergemakkelijken.
De basissyntax van de \code{Sort-Object} cmdlet is als volgt waar:
- \code{
} – Verwijst naar het verzamelen van gegevens om te sorteren, zoals een array, een lijst of andere gegevenstypen. - \code{<-Parameter>} – Een optionele parameter om de sorteercriteria op te geven waarmee je kunt aanpassen hoe het sorteren wordt uitgevoerd.
Om te zien hoe je gegevens kunt sorteren in oplopende en aflopende volgorde:
1. Open PowerShell en voer onderstaand commando uit, dat geen uitvoer geeft maar een lijst met willekeurige gehele getallen definieert in de variabele $numbers
.
? Merk op dat je in PowerShell niet alleen met getallen en strings werkt, maar met objecten omdat PowerShell een objectgeoriënteerde taal en shell is.
2. Voer vervolgens de volgende commando’s uit om de getallen gedefinieerd in de variabele $numbers
te sorteren (Sort-Objects
) en weer te geven (Write-Output
).
Zonder parameters toe te voegen, worden de getallen in oplopende volgorde weergegeven.

3. Voer nu dezelfde commando’s uit, maar voeg deze keer de parameter -Descending
toe om de getallen in aflopende volgorde te sorteren en weer te geven.
De uitvoer, vergelijkbaar met hieronder, geeft aan dat de getallen in aflopende volgorde zijn gesorteerd.

Het sorteren van gegevens op unieke waarden
Het sorteren van gegevens in oplopende en aflopende volgorde is één ding. Maar er kunnen gevallen zijn waarin je gegevens moet sorteren op basis van unieke waarden. In deze context verwijst “uniek” naar afzonderlijke of niet-herhaalde waarden binnen een dataset.
Om gegevens te sorteren op unieke waarden:
Voer de volgende opdrachten uit om het volgende uit te voeren:
- Definieer een lijst van gehele getallen (inclusief duplicaten) in de variabele
$numbers
. - Sorteer de getallen op
-Unieke
waarden in-Aflopend
volgorde en sla het resultaat op in de variabele$sortedNumbers
.
Bij het sorteren op unieke waarden rangschik je de gegevens zodat elke waarde slechts één keer voorkomt in het gesorteerde resultaat, waardoor duplicaten worden geëlimineerd.
Deze opdrachten geven geen output, maar je zult de gesorteerde gegevens verifiëren in de volgende stap.
Voer nu de Write-Output
opdracht hieronder uit om de inhoud van de variabele $sortedNumbers
uit te voeren om het resultaat te verifiëren.
Hieronder zijn alle unieke waarden gesorteerd in aflopende volgorde en zijn dubbele waarden geëlimineerd.
Zoals je kunt zien, verbetert het sorteren op unieke waarden de efficiëntie van gegevensanalyse en elimineert het overbodige informatie bij het werken met grote datasets.

Gegevens sorteren op tekenreeksen
Tot nu toe heb je gezien hoe je numerieke waarden sorteert. Maar wat als je met tekenreeksen werkt? Maak je geen zorgen. De Sort-Object
cmdlet stelt je in staat om tekenreekgegevens te ordenen in een specifieke volgorde op basis van sorteercriteria.
In deze context verwijst een string naar een enkel karakter of een reeks karakters, zoals woorden, zinnen of andere tekstuele gegevens. In PowerShell worden strings weergegeven door de tekst tussen aanhalingstekens te plaatsen, ofwel enkel ('
) of dubbel ("
).
Voer de volgende opdrachten uit om een array van strings standaard in oplopende (alfabetische) volgorde te sorteren.
Het sorteren van strings in PowerShell biedt flexibiliteit bij het organiseren van tekstuele gegevens in een gewenste volgorde, waardoor efficiënte gegevensmanipulatie en -analyse mogelijk is.

Voer nu dezelfde opdrachten uit, maar sorteer ze in plaats daarvan in -Descending
-volgorde.
Deze keer zie je de uitvoer in omgekeerde volgorde, zoals hieronder weergegeven.

Gegevens sorteren op eigenschappen
Zeker, het sorteren van strings is handig. Maar doorgaans moet je specifieker zijn bij het sorteren van gegevens. Naast het sorteren van strings, waarom zou je geen objecten sorteren op basis van hun eigenschappen?
Wanneer u werkt met PowerShell-objecten, heeft elk object doorgaans één of meer eigenschappen die u kunt gebruiken voor sorteren. Deze eigenschappen stellen u in staat om uw sorteercriteria aan te passen aan uw behoeften.
Voer de volgende opdrachten uit om een lijst op te halen van alle actieve processen (Get-Process
) op uw systeem en sorteer ze op CPU
-gebruik. De parameter -Descending
geeft het resultaat weer met de meest intensieve processen als eerste vermeld.

Het sorteren van hashtabellen
Het sorteren van objecten op eigenschappen is een gamechanger bij het werken met gegevensanalyse. Maar wat als we gegevens willen organiseren in sleutel-waardeparen zoals hashtabellen?
De Sort-Object
-cmdlet maakt het mogelijk om hashtabellen te sorteren om de presentatie van gegevens te verbeteren en de informatieopvraging te vereenvoudigen.
Voer de volgende code uit om een hashtabel om te zetten in een array van sleutel-waardeparen en sorteer de hashtabel op basis van de sleutels.
Doordat de sleutels de hashtabel sorteren, zal de uitvoer er als volgt uitzien, waarbij je kunt waarnemen dat de uitvoer sleutel-waardeparen organiseert en weergeeft in een specifieke volgorde.
Deze sorteermethode zorgt voor een betere presentatie van gegevens en maakt het gemakkelijker om informatie uit de hashtabel op te halen.

Conclusie
Gedurende deze handleiding heb je geleerd hoe je unieke waarden, strings, getallen, processen en zelfs hashtabellen kunt sorteren met de Sort-Object
cmdlet van PowerShell. Het sorteren van gegevens is een taak die de weg vrijmaakt voor meer inzichtelijke gegevensanalyse, en met de PowerShell Sort-Object
cmdlet ben je op de goede weg.
Gewapend met deze nieuwe kennis kun je er nu voor zorgen dat je gegevens op een zinvolle manier zijn georganiseerd en deze zelfverzekerd aan anderen kunt presenteren.
Sorteren is slechts een van de vele waardevolle mogelijkheden van PowerShell en zijn cmdlets. Waarom breidt u uw vaardigheden niet uit door meer te leren over andere cmdlets? Misschien kunt u programma-logs maken met Tee-Object
of objectgroottes meten met Measure-Object
?
Source:
https://adamtheautomator.com/powershell-sort-object/