Comment trier les valeurs d'un tableau à l'aide de PowerShell
-
Trier les valeurs des tableaux dans PowerShell à l’aide de la cmdlet
Sort-Object
-
Trier les valeurs des tableaux dans PowerShell à l’aide de la méthode
[Array]::Sort()
- Conclusion

Le tri des tableaux est une tâche courante et essentielle dans les scripts PowerShell, permettant une organisation et une manipulation efficaces des données. Que vous traitiez des tableaux numériques, de chaînes ou d’objets personnalisés, PowerShell fournit des outils polyvalents pour le tri.
Dans cet article complet, nous allons explorer différentes méthodes et techniques pour trier les valeurs des tableaux, répondant à divers scénarios et préférences.
Trier les valeurs des tableaux dans PowerShell à l’aide de la cmdlet Sort-Object
La cmdlet Sort-Object
offre un moyen pratique et polyvalent d’organiser les valeurs des tableaux par ordre croissant ou décroissant en fonction de divers critères. Elle n’est pas limitée aux tableaux et peut être utilisée avec toute collection d’objets.
Lorsqu’il s’agit de trier des tableaux, chaque élément du tableau est considéré comme un objet, et la cmdlet Sort-Object
est appliquée en conséquence.
La syntaxe de base de la cmdlet Sort-Object
est la suivante :
<array> | Sort-Object [-Property <property>] [-Descending] [-Culture <culture>] [-Unique]
Où :
<array>
: Représente le tableau que vous souhaitez trier.-Property
: Spécifie la propriété sur laquelle le tri doit être effectué. Si non fourni, PowerShell utilise les propriétés de tri par défaut du premier objet d’entrée.-Descending
: Trie les objets par ordre décroissant. Si ce paramètre n’est pas utilisé, le tri se fait par ordre croissant.-Culture
: Spécifie la culture à utiliser pour le tri. Ceci est optionnel et par défaut à la culture actuelle.-Unique
: Assure que la liste triée contient des éléments uniques.
Plongeons dans des exemples pratiques pour comprendre comment utiliser la cmdlet Sort-Object
pour trier les valeurs des tableaux.
Exemple 1 : Tri par ordre croissant
$numbers = 4, 2, 7, 1, 5
$sortedNumbers = $numbers | Sort-Object
$sortedNumbers
Ici, nous avons un tableau de chiffres stocké dans la variable $numbers
. En envoyant ce tableau à Sort-Object
, nous trions les nombres par ordre croissant.
Le tableau trié est stocké dans $sortedNumbers
.
Sortie :
1
2
4
5
7
Exemple 2 : Tri par ordre décroissant
$cities = "New York", "London", "Paris", "Tokyo", "Sydney"
$sortedCitiesDescending = $cities | Sort-Object -Descending
$sortedCitiesDescending
Dans cet exemple, le tableau $cities
contient des noms de villes. Nous utilisons le paramètre -Descending
pour les trier par ordre décroissant, et le résultat est stocké dans $sortedCitiesDescending
.
Sortie :
Tokyo
Sydney
Paris
New York
London
Exemple 3 : Tri d’objets en fonction d’une propriété
$people = @( [PSCustomObject]@{ Name = "Alice"; Age = 25 },
[PSCustomObject]@{ Name = "Bob"; Age = 30 },
[PSCustomObject]@{ Name = "Charlie"; Age = 22 } )
$sortedPeople = $people | Sort-Object Age
$sortedPeople
Dans cet exemple, nous avons un tableau d’objets personnalisés représentant des personnes avec des propriétés Name
et Age
. Nous utilisons Sort-Object
avec le paramètre -Property
pour trier le tableau en fonction de la propriété Age
.
Sortie :
Name Age
---- ---
Charlie 22
Alice 25
Bob 30
Ces exemples illustrent la flexibilité et la puissance de la cmdlet Sort-Object
pour trier les valeurs des tableaux dans PowerShell. Que vous travailliez avec des tableaux simples ou des tableaux d’objets complexes, Sort-Object
fournit une solution simple et efficace.
Trier les valeurs des tableaux dans PowerShell à l’aide de la méthode [Array]::Sort()
Bien que la cmdlet Sort-Object
soit un outil puissant pour trier les tableaux, PowerShell propose également la méthode [Array]::Sort()
, un membre de la classe [Array]
dans .NET. Cette méthode est spécifiquement conçue pour trier les tableaux. Elle modifie directement l’ordre des éléments dans le tableau d’origine, en faisant un algorithme de tri en place.
La syntaxe pour utiliser la méthode [Array]::Sort()
est la suivante :
[Array]::Sort(<array>)
<array>
: Représente le tableau que vous souhaitez trier.
Voyons quelques exemples pour comprendre comment utiliser la méthode [Array]::Sort()
pour trier les valeurs des tableaux.
Exemple 1 : Tri par ordre croissant
Pour trier un tableau par ordre croissant à l’aide de la méthode [Array]::Sort()
, nous pouvons invoquer la méthode et passer le tableau comme argument :
$numbers = 4, 2, 7, 1, 5
[Array]::Sort($numbers)
$numbers
Dans cet exemple, le tableau $numbers
contient des valeurs numériques. Nous utilisons la méthode [Array]::Sort()
pour trier directement le tableau par ordre croissant. Le tri est effectué en place, ce qui signifie que le tableau d’origine est modifié.
Sortie :
1
2
4
5
7
Exemple 2 : Tri de chaînes par ordre croissant
$fruits = "Apple", "Orange", "Banana", "Grapes"
[Array]::Sort($fruits)
$fruits
Ici, le tableau $fruits
contient des valeurs de chaîne représentant des fruits. La méthode [Array]::Sort()
est appliquée pour trier le tableau alphabétiquement par ordre croissant. Le tableau d’origine est modifié en place.
Sortie :
Apple
Banana
Grapes
Orange
Exemple 3 : Tri par ordre décroissant
$ages = 35, 22, 28, 40, 30
[Array]::Sort($ages)
$ages = $ages -join ", "
$ages
Dans cet exemple, le tableau $ages
se compose de valeurs numériques. Nous appliquons [Array]::Sort()
pour trier le tableau par ordre croissant, puis nous utilisons -join
pour concaténer les valeurs triées en une chaîne pour une meilleure lisibilité.
Sortie :
22, 28, 30, 35, 40
La méthode [Array]::Sort()
est un moyen pratique de trier les tableaux en place. Elle est particulièrement utile lorsque vous souhaitez modifier directement le tableau d’origine.
Cependant, il est essentiel de noter que cette méthode n’est pas adaptée pour trier des tableaux d’objets complexes ou de types personnalisés, où Sort-Object
serait un choix plus approprié.
Conclusion
Dans cet article, nous avons révélé deux méthodes fondamentales : la polyvalente cmdlet Sort-Object
et la méthode simple [Array]::Sort()
. Chaque méthode offre ses avantages uniques, répondant à différents scénarios et préférences dans le scripting PowerShell.
La cmdlet Sort-Object
se démarque lors du traitement de tableaux d’objets personnalisés ou de types de données divers grâce à sa syntaxe flexible et sa capacité à trier les objets en fonction des propriétés. Son intégration transparente dans les pipelines en fait un outil puissant pour la manipulation des tableaux, offrant à la fois des capacités de tri croissant et décroissant.
D’autre part, la méthode [Array]::Sort()
brille par sa simplicité et son efficacité, modifiant directement le tableau d’origine en place. Elle est idéale pour les scénarios où vous privilégiez la modification du tableau existant sans créer de variables supplémentaires.
Cependant, il est crucial de reconnaître sa pertinence principalement pour le tri des tableaux simples de types de données primitives.
En fin de compte, que vous optiez pour la cmdlet Sort-Object
ou la méthode [Array]::Sort()
dépend des exigences spécifiques de votre script PowerShell.
Article connexe - PowerShell Array
- Comment ajouter des objets à un tableau d'objets dans PowerShell
- Comment créer un tableau vide de tableaux en PowerShell
- Comment importer des fichiers CSV dans un tableau dans PowerShell
- Comment passer un tableau à une fonction dans PowerShell
- Comment supprimer les valeurs dupliquées d'un tableau PowerShell
- Tableau d'octets dans PowerShell