Introduction à Array sous Unix

Array est une structure de données qui contient un groupe d'éléments typiques du même type de données tels que chaîne, entier, flottant, etc. La structure de données de tableau est également disponible dans Unix.

  • Tableau sous Unix: c'est la collection d'éléments qui peuvent ou non être du même type de données.
  • Index: le tableau est basé sur zéro, ce qui signifie que les éléments du tableau sont référencés par l'index commençant à zéro.
  • Taille: il n'y a pas de limite maximale à la taille du tableau

Syntaxe de Array sous Unix

Il existe différentes façons de former un tableau dans les scripts shell. Passons en revue chacun d'eux en détail:

1. Déclaration indirecte: ici, la valeur est affectée à un index particulier lors de vos déplacements. Dont l'exemple est mentionné ci-dessous.

Syntaxe:

array_name(index) = value

2. Déclaration explicite: tout d' abord, le tableau est déclaré, puis les valeurs lui sont attribuées. Declare est un mot clé intégré et -a est une option de lecture intégrée qui permet de lire et d'assigner des valeurs.

Syntaxe:

declare -a array_name

3. Assignation composée: Ici, le tableau est déclaré avec plusieurs valeurs à la fois.

Syntaxe:

array_name = (value1 value2 value3 . . . valueN)

Ou

array_name = ((0)=value1, (1)=value2, (2)=value3..)

Ici, l'index est facultatif si l'index n'est pas fourni, la valeur est affectée au dernier index plus un

Comment fonctionne Array sous Unix?

Nous avons appris les différentes façons de créer un tableau sous Unix, allons maintenant de l'avant et voyons les différentes opérations qui peuvent être effectuées sur le tableau Unix.

1. Nous allons créer le tableau des noms

2. Pour accéder à tous les éléments du tableau, utilisez (*) ou (@)

Code:

echo $(first_name(*))
echo $(first_name(@))

Remarque: la commande echo est une commande intégrée sous Unix qui est utilisée pour afficher le texte ou la chaîne qui est passée en argument à la commande. La syntaxe de 'echo' est mentionnée ci-dessous.

Syntaxe:

echo (options) (arguments)

3. Pour accéder à n'importe quel élément spécifique de la chaîne à l'aide de son index.

Code:

echo $(first_name(0))
echo $(first_name(1))
echo $(first_name(2))

Production:

Remarque: () les accolades sont utilisées pour faire référence au contenu du tableau.

4. Pour imprimer les éléments dans une plage. La syntaxe de la même chose est la suivante:

Syntaxe:

echo $array_name(which element):starting_index:count_element)

Laissez-nous nous familiariser avec le même.

Code:

echo $(first_name(@):0:2)
echo $(first_name(@):2:3)
echo $(first_name(0):1:2)

Production:

@ - fait référence à tous les éléments du tableau
Dans la commande echo $ (first_name (@): 0: 2)
@ considérez tous les éléments du tableau. 0 - signifie commencer avec cet index particulier et 2 affiche le nombre d'éléments à partir du point de départ
2 affiche un certain nombre d'éléments à partir du point de départ

Dans cette commande echo $ (first_name (0): 1: 2)
0 - considérez le 0 ème élément du tableau. 1 est le point de départ et 2 - est le nombre d'éléments du point de départ

5. Pour obtenir la taille du tableau

Code:

echo $(#first_name(@))
or
echo $(#first_name(*))

Production:


Remarque: # est utilisé pour trouver la longueur d'un élément spécifique d'un tableau.

6. Pour trouver la longueur d'un élément spécifique d'un tableau

Code:

echo $(#first_name(0))

Sortie :

7. Pour obtenir l'index du tableau, utilisez la commande ci-dessous.

Code:

echo $(!first_name(@))

Production:


Remarque :! est utilisé pour obtenir l'index du tableau.

8. Pour supprimer le tableau dans le script, la commande de désactivation est utilisée. Il s'agit d'une commande intégrée pour détruire un tableau ou tout élément du tableau

Syntaxe:

unset array_name

Code:

unset first_name

9. Pour supprimer un élément à un index spécifique

unset first_name(2)

Cela supprimera l'élément à l'index 2.

10. Pour rechercher un modèle spécifique dans le tableau.

Code:

echo $(first_name(@)/*(aA)*/)

Production:

Ici, prénom (@): fait référence à tous les éléments du tableau
/ motif à rechercher /: C'est le motif à rechercher dans le tableau ou son élément.
Il renverra 1 si la correspondance est trouvée et 0 si aucune correspondance n'a été trouvée.

11. Pour rechercher un modèle spécifique et le remplacer dans le tableau donné.

Code:

echo $(first_name(@)//a/A)

first_name (@): Considérez tous les éléments du tableau
// modèle à rechercher / chaîne de remplacement /: chaîne de recherche et de remplacement

Production:

first_name (2): recherche et remplace les opérations à effectuer sur l'élément avec l'index 2.

Lors de l'exécution de l'opération de recherche et de remplacement, aucune modification n'est apportée à la valeur d'origine du tableau. Il renvoie une nouvelle valeur qui peut être stockée dans la même variable ou dans des variables différentes.

12. Pour effectuer une opération sur les éléments d'un tableau, nous pouvons utiliser les boucles. Comme tout autre langage de programmation, le shell Bourne prend en charge deux types de boucles, à savoir la boucle for et la boucle while. Regardons un exemple pour itérer sur un tableau en utilisant la boucle for.

Code:

Arr = (1 2 3 4 5)
for i in “$(Arr(@))”
do
echo $i
done

Sortie :

De même, vous pouvez également parcourir un tableau à l'aide d'une boucle while.

Veuillez garder à l'esprit qu'il existe différents types de shells disponibles sous Unix comme Bash, K shell, Bourne shell, etc. Shell n'est rien d'autre qu'une interface vers les systèmes Unix avec différents ensembles de commandes et de fonctions. Ainsi, en fonction de divers types de shell, il existe différentes syntaxes associées au tableau et à ses opérations, avec une légère variation dans la syntaxe des commandes décrites ci-dessus.

Bash Shell permet également les opérations de tableau sur les variables sans que les variables soient explicitement déclarées comme un tableau. Regardons l'exemple pour mieux comprendre la déclaration ci-dessus.

Code:

String_variable = India is a democratic country
echo “$(string(0))”

Production:

Conclusion

Fondamentalement, le tableau est une collection d'éléments stockés dans un emplacement de mémoire contigu. L'objectif de la formation d'un tableau est de stocker plusieurs éléments du même type avec des types de données identiques ou différents. Dans un scénario pratique, la raison pour laquelle la structure des tableaux est en retard de popularité est due à son manque de compatibilité avec diverses structures shell et complexes.

Articles recommandés

Ceci est un guide pour Array sous Unix. Ici, nous discutons de la syntaxe et du fonctionnement du tableau sous Unix ainsi que divers exemples et implémentations de code. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Serveur proxy Linux
  2. Types de shells sous Linux
  3. Créer un utilisateur sous Linux
  4. Système de fichiers Unix
  5. Guide de la boucle For dans Shell Scripting