Unix / Linux - Utilisation des Tableaux dans les Scripts Shell
Bonjour, aspirants programmeurs ! Bienvenue dans notre leçon sur l'utilisation des tableaux dans les scripts shell Unix et Linux. Je suis ravi de vous guider à travers cette excitante aventure dans le monde des structures de données. En tant que quelqu'un qui enseigne l'informatique depuis des années, je peux vous assurer que maîtriser les tableaux ouvrira une nouvelle dimension de possibilités dans vos aventures de programmation. Alors, plongeons dedans !
Qu'est-ce que les Tableaux ?
Avant de rentrer dans les détails, comprenons ce qu'est un tableau. Imaginez que vous avez un tas de fruits, et au lieu de les éparpiller dans toute votre cuisine, vous décidez de les mettre dans un joli panier à fruits bien organisé. C'est essentiellement ce qu'est un tableau en programmation - un conteneur qui contient plusieurs éléments du même type, rangés de manière ordonnée pour un accès facile.
Définir les Valeurs d'un Tableau
En scripting shell Unix/Linux, définir des tableaux est un jeu d'enfant. Commençons par un exemple simple :
fruits=("apple" "banana" "cherry" "date")
Ici, nous avons créé un tableau nommé fruits
contenant quatre éléments. C'est comme notre panier de fruits virtuel ! Chaque élément est une chaîne distincte, entourée de guillemets et séparée par des espaces.
Mais attendez, il y a plus ! Vous pouvez également définir des tableaux élément par élément :
vegetables[0]="carrot"
vegetables[1]="broccoli"
vegetables[2]="spinach"
Dans ce cas, nous spécifions manuellement l'index (position) de chaque élément. Souvenez-vous, dans la plupart des langages de programmation, y compris le scripting shell, les indices des tableaux commencent à 0, pas à 1. C'est une particularité qui embête beaucoup de débutants, donc gardez-le à l'esprit !
Un Means Mémoire Amusant pour Rappeler l'Indexation des Tableaux
Je dis souvent à mes élèves d'imaginer qu'ils sont dans une course. La personne sur la ligne de départ n'est pas numéro 1 - ils sont numéro 0 ! C'est un peu étrange, mais cela aide à se souvenir que les tableaux commencent à l'index 0.
Accéder aux Valeurs d'un Tableau
Maintenant que nous avons rempli nos paniers virtuels, comment les vider ? Explorons !
Accéder à des Éléments Individuels
Pour accéder à un élément spécifique, nous utilisons son index :
echo ${fruits[2]}
Cette commande affichera : cherry
Pourquoi ? Parce que cherry
est à l'index 2 (souvenez-vous, nous commencer à compter à partir de 0).
Accéder à Tous les Éléments
Que se passe-t-il si nous voulons voir tous nos fruits à la fois ? Nous pouvons utiliser le symbole @
:
echo ${fruits[@]}
Cela affichera : apple banana cherry date
Accéder à la Longueur du Tableau
Curieux de savoir combien d'items sont dans notre tableau ? Voici comment le découvrir :
echo ${#fruits[@]}
Cela affichera : 4
Le symbole #
avant le nom du tableau nous donne la longueur du tableau.
Exemples Pratiques
Mettons nos connaissances en œuvre avec quelques exemples du monde réel !
Exemple 1 : Saluer Plusieurs Utilisateurs
users=("Alice" "Bob" "Charlie")
for user in "${users[@]}"
do
echo "Hello, $user!"
done
Ce script affichera :
Hello, Alice!
Hello, Bob!
Hello, Charlie!
Ici, nous utilisons une boucle for
pour itérer à travers notre tableau et saluer chaque utilisateur individuellement. C'est comme avoir un robot amical qui ne zappe jamais de dire bonjour !
Exemple 2 : Calculer la Taille Totale des Fichiers
files=("document.txt" "image.jpg" "script.sh")
total_size=0
for file in "${files[@]}"
do
size=$(stat -f%z "$file")
total_size=$((total_size + size))
done
echo "Total size of files: $total_size bytes"
Ce script calcule la taille totale de plusieurs fichiers. C'est particulièrement utile lorsque vous devez rapidement additionner les tailles des fichiers sans les additionner manuellement.
Techniques de Tableau Avancées
Maintenant que nous avons couvert les bases, explorons quelques techniques plus avancées !
Tronçonner des Tableaux
Vous pouvez extraire une partie d'un tableau en utilisant la troncation :
colors=("red" "green" "blue" "yellow" "purple")
echo ${colors[@]:1:3}
Cela affichera : green blue yellow
Ici, 1:3
signifie "commencer à l'index 1 et me donner 3 éléments".
Ajouter des Éléments à un Tableau
Vous pouvez ajouter des éléments à un tableau existant :
fruits+=("elderberry")
echo ${fruits[@]}
Cela inclura maintenant "elderberry" à la fin de notre tableau de fruits.
Supprimer des Éléments d'un Tableau
Supprimer des éléments est un peu plus complexe. Nous pouvons utiliser la commande unset
:
unset fruits[1]
echo ${fruits[@]}
Cela supprime le deuxième élément (souvenez-vous, index 1) de notre tableau de fruits.
Méthodes de Tableau Courantes
Voici un tableau résumant quelques opérations de tableau courantes dans le scripting shell Unix/Linux :
Opération | Syntaxe | Description |
---|---|---|
Définir un Tableau | array=("elem1" "elem2" "elem3") |
Crée un nouveau tableau |
Accéder à un Élément | ${array[index]} |
Récupère l'élément à l'index spécifié |
Accéder à Tous les Éléments | ${array[@]} |
Récupère tous les éléments |
Longueur du Tableau | ${#array[@]} |
Retourne le nombre d'éléments |
Ajouter un Élément | array+=("new_elem") |
Ajoute un nouvel élément au tableau |
Supprimer un Élément | unset array[index] |
Supprime l'élément à l'index spécifié |
Tronçonner un Tableau | ${array[@]:start:count} |
Extrait une partie du tableau |
Conclusion
Félicitations ! Vous avez appena fait vos premiers pas dans le monde des tableaux dans le scripting shell Unix/Linux. Nous avons couvert la définition des tableaux, l'accès à leurs valeurs et même quelques techniques avancées. Souvenez-vous, la pratique rend parfait, donc n'hésitez pas à expérimenter avec ces concepts dans vos propres scripts.
Les tableaux sont des outils extrêmement polyvalents qui peuvent simplifier de nombreuses tâches de programmation. Que vous gériez une liste d'utilisateurs, traitez plusieurs fichiers ou organiser des données, les tableaux seront vos fidèles compagnons dans votre voyage de codage.
En conclusion, je suis rappelé d'une citation du célèbre informaticien Alan Kay : "Les choses simples devraient être simples, les choses complexes devraient être possibles." Les tableaux incarnent parfaitement ce principe - ils sont simples à utiliser, mais ils ouvrent un monde de possibilités complexes.
Continuez à coder, continuez à explorer, et surtout, amusez-vous avec les tableaux ! Ils ne sont pas seulement des structures de données ; ils sont les briques de vos futures œuvres maîtresses de programmation. Jusqu'à la prochaine fois, bon scripting !
Credits: Image by storyset