Comment trier les valeurs d'un tableau à l'aide de PowerShell

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

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.

Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Article connexe - PowerShell Array