Linux Script Shell - 15 - Tableau / Table
Table des matières:
- Tableaux Bash
- Création de tableaux Bash
- Création de tableaux indexés numériquement
- Création de tableaux associatifs
- Opérations sur les baies
- Éléments de référence
- Longueur du tableau
- Parcourez le tableau
- Ajouter un nouvel élément
- Supprimer un élément
- Conclusion
Les tableaux sont l'une des structures de données les plus utilisées et les plus fondamentales. Vous pouvez penser qu'un tableau est une variable qui peut y stocker plusieurs variables., nous couvrirons les tableaux Bash et expliquerons comment les utiliser dans vos scripts Bash.
Tableaux Bash
Bash prend en charge les types de tableaux unidimensionnels indexés et associatifs. Les tableaux numériques sont référencés à l'aide d'entiers et associatifs sont référencés à l'aide de chaînes.
Les tableaux indexés numériquement sont accessibles depuis la fin en utilisant des indices négatifs, l'index de
-1
référence au dernier élément. Les indices ne doivent pas nécessairement être contigus.
Contrairement à la plupart des langages de programmation, les éléments du tableau Bash ne doivent pas nécessairement être du même type de données. Vous pouvez créer un tableau contenant à la fois des chaînes et des nombres.
Bash ne prend pas en charge les tableaux multidimensionnels et vous ne pouvez pas avoir d'éléments de tableau qui sont également des tableaux.
Il n'y a pas de limite au nombre maximal d'éléments pouvant être stockés dans un tableau.
Création de tableaux Bash
Les tableaux dans Bash peuvent être initialisés de différentes manières.
Création de tableaux indexés numériquement
Les variables Bash sont non typées, n'importe quelle variable peut être utilisée comme un tableau indexé sans le déclarer.
Pour déclarer explicitement un tableau, utilisez la commande intégrée declare:
declare -a array_name
Une façon de créer un tableau indexé consiste à utiliser le formulaire suivant:
array_name=value_1 array_name=value_2 array_name=value_n
Où
index_*
est un entier positif.
Une autre façon de créer un tableau numérique consiste à spécifier la liste des éléments entre parenthèses, séparés par un espace vide:
array_name=(element_1 element_2 element_N)
Lorsque le tableau est créé à l'aide du formulaire ci-dessus, l'indexation commence à zéro, c'est-à-dire que le premier élément a un index de
0
.
Création de tableaux associatifs
Contrairement à l'indexation numérique, les tableaux associatifs doivent être déclarés avant de pouvoir être utilisés.
Pour déclarer un tableau associatif, utilisez la fonction interne
declare
avec l'option
-A
(majuscule):
declare -A array_name
Les tableaux associatifs peuvent être créés à l'aide du formulaire suivant:
declare -A array_name array_name=value_foo array_name=value_bar array_name=value_xyz
Où
index_*
peut être n'importe quelle chaîne.
Vous pouvez également créer un tableau associatif en utilisant le formulaire ci-dessous:
declare -A array_name array_name=(=value_foo =value_bar =value_xyz)
Opérations sur les baies
La syntaxe des tableaux Bash peut sembler un peu étrange au début, mais elle aura plus de sens une fois que vous aurez lu cet article.
Éléments de référence
Pour référencer un seul élément, vous devez connaître l'index de l'élément.
Tout élément peut être référencé à l'aide de la syntaxe suivante:
${array_name}
La syntaxe pour accéder à un élément de tableau est similaire à la syntaxe de la plupart des langages de programmation. Les accolades
${}
sont nécessaires pour éviter les opérateurs d'extension de nom de fichier du shell.
Imprimons l'élément avec un index de
1
:
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## print element echo ${my_array}
Helium
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## print all elements echo "${my_array}"
Hydrogen Helium Lithium Beryllium
La seule différence entre
@
et
*
est lorsque le formulaire
${my_array}
est entouré de guillemets doubles. Dans ce cas,
*
développe en un seul mot où les éléments du tableau sont séparés par un espace.
@
développe chaque élément du tableau en un mot distinct. Cela est particulièrement important lorsque vous utilisez le formulaire pour illettrer les éléments du tableau.
Pour imprimer les clés du tableau, ajoutez le
!
opérateur avant le nom du tableau:
${!array_name}
Voici un exemple:
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## print all elements echo "${!my_array}"
Longueur du tableau
Pour obtenir la longueur d'un tableau, utilisez le formulaire suivant:
${#array_name}
La syntaxe est la même que pour le référencement de tous les éléments avec l'ajout du caractère
#
avant le nom du tableau.
## declare the array declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## array Length echo ${#my_array}
Parcourez le tableau
La façon la plus courante d'itérer sur chaque élément d'un tableau consiste à utiliser la boucle for:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## Array Loop for i in "${my_array}" do echo "$i" done
Le code ci-dessus va parcourir le tableau et afficher chaque élément dans une nouvelle ligne:
Hydrogen Helium Lithium Beryllium
Voici un exemple d'impression de toutes les clés et valeurs:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## Array Loop for i in "${!my_array}" do echo "$i" "${my_array}" done
0 Hydrogen 1 Helium 2 Lithium 3 Beryllium
Une autre façon de parcourir un tableau consiste à obtenir la longueur du tableau et à utiliser la boucle de
C style
:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") # Length of the array length=${#my_array} # Array Loop for ((i=0; i < ${length}; i++)) do echo $i ${my_array} done
0 Hydrogen 1 Helium 2 Lithium 3 Beryllium
Ajouter un nouvel élément
Pour ajouter un nouvel élément à un tableau bash et spécifier son index, utilisez le formulaire suivant:
my_array="New Element"
Voici un exemple:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## add new element my_array="Aluminum" ## print all elements echo "${my_array}"
Hydrogen Helium Lithium Beryllium Aluminum
Une autre façon d'ajouter un nouvel élément à un tableau sans spécifier l'index consiste à utiliser l'opérateur
+=
. Vous pouvez ajouter un ou plusieurs éléments:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## add new elements my_array+=(Cobalt Nickel) ## print all elements echo "${my_array}"
Hydrogen Helium Lithium Beryllium Cobalt Nickel
Supprimer un élément
Pour supprimer un seul élément, vous devez connaître l'index de l'élément. Un élément peut être supprimé à l'aide de la commande
unset
:
unset my_array
Voyons un exemple:
declare -a my_array=("Hydrogen" "Helium" "Lithium" "Beryllium") ## remove element unset my_array ## print all elements echo "${my_array}"
Conclusion
Nous avons expliqué comment créer des tableaux indexés et associatifs numériquement. Nous avons également montré comment parcourir les tableaux, calculer la longueur du tableau et ajouter et supprimer des éléments.
terminal bashTableaux activés sur le site Hacker
Un pirate informatique s'est introduit par effraction, puis a publié les coordonnées des membres d'un site malveillant souterrain.
Ajouter des bordures aux pages, texte, paragraphes et tableaux dans ms word
Apprenez à ajouter des bordures à des pages, du texte, des paragraphes, des objets et des tableaux dans MS Word.
Rapports de tableaux croisés dynamiques Excel: le quoi, le comment et quelques conseils
Comprendre ce que sont les rapports de tableau croisé dynamique Excel, comment les créer et quelques conseils connexes.







