Savoir comment travailler avec des tableaux dans des scripts shell vous aidera à travailler avec des ensembles de données plus volumineux de manière beaucoup plus efficace. Mais que sont les tableaux et comment créer des tableaux ? Découvrons !
Que sont les tableaux ?
Si vous avez déjà une compréhension de base de n'importe quel langage de programmation, vous savez ce que sont les tableaux. Mais pour les non-initiés, passons en revue les bases des tableaux et apprenons à les utiliser.
Les variables stockent des éléments de données uniques. Les tableaux, en revanche, peuvent stocker un nombre pratiquement illimité d'éléments de données. Lorsque vous travaillez avec une grande quantité de données, les variables peuvent s'avérer très inefficaces et il est très utile de se familiariser avec les tableaux.
Apprenons à créer des tableaux dans des scripts shell.
Création de tableaux dans des scripts shell
Il existe deux types de tableaux avec lesquels nous pouvons travailler, dans les scripts shell.
- Tableaux indexés – Stocker les éléments avec un index commençant à 0
- Tableaux associatifs – Stocker les éléments dans des paires clé-valeur
Le tableau par défaut créé est un tableau indexé. Si vous spécifiez les noms d'index, il devient un tableau associatif et les éléments sont accessibles en utilisant les noms d'index au lieu des nombres.
Déclarer des tableaux :
root@ubuntu:~# declare -A assoc_array root@ubuntu:~# assoc_array[key]=value OR root@ubuntu:~# declare -a indexed_array root@ubuntu:~# indexed_array[0]=value
Remarquez la lettre majuscule et minuscule a . A
majuscule est utilisé pour déclarer un tableau associatif en minuscules a
est utilisé pour déclarer un tableau indexé.
Le declare
Le mot clé est utilisé pour déclarer explicitement des tableaux mais vous n'avez pas vraiment besoin de les utiliser. Lorsque vous créez un tableau, vous pouvez simplement initialiser les valeurs en fonction du type de tableau souhaité sans déclarer explicitement les tableaux.
Travailler avec des tableaux dans des scripts shell
Maintenant que vous savez comment créer des tableaux, apprenons à travailler avec des tableaux. Comme il s'agit de collections d'éléments de données, nous pouvons travailler avec des boucles et des tableaux en même temps pour extraire les points de données requis.
1. Accéder aux éléments du tableau individuellement
Puisque nous savons que chaque point de données est indexé individuellement, nous pouvons accéder à tous les éléments du tableau en spécifiant l'index du tableau comme indiqué ci-dessous :
assoc_array[element1]="Hello World" echo ${assoc_array[element1]}
De même, accédons à certains éléments de tableau indexés. Nous pouvons spécifier tous les éléments du tableau d'index en délimitant par des espaces car l'index est automatiquement généré pour chacun de ces éléments.
index_array=(1 2 3 4 5 6) echo ${index_array[0]}
Comme vous pouvez le voir, le premier élément est automatiquement imprimé en fonction de l'index 0.
2. Lecture séquentielle des éléments du tableau
Cela va être une tâche facile si vous connaissez déjà les boucles. Si vous ne le faites pas, nous les couvrirons dans un futur tutoriel. Nous utiliserons les boucles while ou for dans les scripts shell pour parcourir les éléments du tableau. Copiez le script ci-dessous et enregistrez-le sous
#!/bin/bash index_array=(1 2 3 4 5 6 7 8 9 0) for i in ${index_array[@]} do echo $i done
Le script ci-dessus affichera ce qui suit :
Maintenant, vous avez peut-être remarqué le index_array[@] et si vous vous demandez ce que le @ le symbole est pour, nous allons passer en revue la même chose maintenant.
Opérations intégrées pour les tableaux dans les scripts shell
Maintenant que vous avez appris à accéder aux éléments individuellement et à utiliser les boucles for, apprenons les différentes opérations disponibles par défaut pour les tableaux.
1. Accéder à tous les éléments d'un tableau
Nous avons appris à accéder aux éléments en fournissant l'index ou la clé du tableau. Mais si on veut imprimer tous les éléments en même temps ou travailler avec tous les éléments, on peut utiliser un autre opérateur qui est le [@]
symbole.
Comme vous l'avez remarqué dans l'exemple ci-dessus, j'ai utilisé ce symbole lorsque je voulais parcourir tous les éléments du tableau à l'aide de la boucle for.
echo ${assoc_array[@]}
Ce qui précède imprimera tous les éléments stockés dans le tableau assoc.
2. Compter le nombre d'éléments dans un tableau
Similaire au @
symbole ci-dessus, nous avons le #
symbole qui peut être préfixé à un nom de tableau pour nous fournir le nombre d'éléments stockés dans le tableau. Voyons comment cela fonctionne.
echo ${#index_array[@]}
Si vous voulez compter le nombre de caractères utilisés pour un élément particulier, nous pouvons simplement remplacer le @
symbole avec l'index.
3. Supprimer des éléments de tableau individuels
Nous savons comment ajouter des éléments de tableau et les imprimer également. Apprenons à supprimer des éléments spécifiques. Pour cela, nous utiliserons le unset
mot-clé.
unset index_array[1]
Remplacez le nom du tableau et l'ID d'index dans l'exemple de code ci-dessus et vous avez supprimé l'élément de tableau que vous désirez. Assez simple n'est-ce pas ?
Conclusion
Les scripts shell sont assez vastes et peuvent remplacer n'importe quelle fonction que vous pouvez exécuter sur le terminal avec la bonne personne qui écrit le script. Certaines fonctionnalités supplémentaires des tableaux dans les scripts shell incluent également la possibilité de travailler avec regex (Expressions régulières). Nous pouvons utiliser diverses expressions régulières pour manipuler des éléments de tableau dans des scripts shell.
Pour l'instant, nous espérons que vous avez une bonne compréhension de la création et de l'utilisation de tableaux et que vous serez en mesure d'utiliser des tableaux dans vos scripts. Commentez ci-dessous pour nous dire ce que vous en pensez et si vous avez des questions sur ce sujet.