<Précédent | Table des matières | Suivant>
Tri d'un tableau
Tout comme avec les tableurs, il est souvent nécessaire de trier les valeurs dans une colonne de données. Le shell n'a aucun moyen direct de le faire, mais ce n'est pas difficile à faire avec un peu de codage :
#! / Bin / bash
# array-sort : Trie un tableau a=(fedcba)
echo "Tableau d'origine : ${a[@]}"
a_sorted=($(for i in "${a[@]}"; do echo $i; done | sort)) echo "Tableau trié : ${a_sorted[@]}"
#! / Bin / bash
# array-sort : Trie un tableau a=(fedcba)
echo "Tableau d'origine : ${a[@]}"
a_sorted=($(for i in "${a[@]}"; do echo $i; done | sort)) echo "Tableau trié : ${a_sorted[@]}"
Lorsqu'il est exécuté, le script produit ceci :
[moi@linuxbox ~]$ tri par tableau Tableau d'origine : fedcba Tableau trié : abcdef
[moi@linuxbox ~]$ tri par tableau Tableau d'origine : fedcba Tableau trié : abcdef
Le script fonctionne en copiant le contenu du tableau d'origine (a) dans un deuxième tableau (a_trié) avec une opération délicate de substitution de commandes. Cette technique de base peut être utilisée pour effectuer de nombreux types d'opérations sur la baie en modifiant la conception du pipeline.