Comment manipuler et contrôler les données avec Bash Array

Comment Manipuler Et Controler Les Donnees Avec Bash Array



Une variable tableau est utilisée dans n'importe quel langage de programmation pour stocker plusieurs valeurs à l'aide d'un index. L'index du tableau peut être un nombre ou une chaîne. Le tableau qui contient l'index numérique est appelé « tableau numérique » et le tableau qui contient la valeur de chaîne comme index est appelé « tableau associatif ». Des tableaux numériques et associatifs peuvent être créés dans Bash. Les méthodes de manipulation et de contrôle des données du tableau Bash sont présentées en détail à l'aide de 15 exemples dans ce didacticiel.

Liste du contenu :

  1. Définir un tableau par index
  2. Définir un tableau avec plusieurs valeurs
  3. Définir un tableau associatif
  4. Comptez les valeurs du tableau
  5. Lire les valeurs du tableau par boucle
  6. Lire les valeurs particulières du tableau
  7. Insérer les valeurs du tableau
  8. Lire le contenu d'un fichier dans le tableau
  9. Combinez les valeurs du tableau
  10. Modifier les valeurs du tableau
  11. Supprimer les valeurs du tableau
  12. Rechercher et remplacer les valeurs du tableau
  13. Utiliser un tableau comme argument de fonction
  14. Renvoie le tableau de la fonction
  15. Rendre le tableau vide

Définir un tableau par index

La méthode de déclaration d'un tableau en mentionnant les index numériques séquentiels ou non séquentiels est présentée dans le script suivant. Ce type de tableau est appelé tableau numérique. Ici, le tableau « $books » est créé en définissant trois index séquentiels et le tableau « $products » est créé en définissant quatre index non séquentiels. Toutes les valeurs des deux tableaux sont imprimées à l'aide de la fonction « printf ».







#!/bin/bash

#Définir l'index du tableau dans un ordre séquentiel

livres [ 0 ] = 'Apprendre le shell bash'

livres [ 1 ] = « Opérations de cybersécurité avec bash »

livres [ 2 ] = « Conseils professionnels de ligne de commande Bash »

écho 'Toutes les valeurs du premier tableau :'

imprimer '%s\n' ' ${livres[@]} '

#Définir l'index du tableau dans un ordre non séquentiel

des produits [ dix ] = 'Stylo'

des produits [ 5 ] = 'Crayon'

des produits [ 9 ] = 'Rulaire'

des produits [ 4 ] = 'Papier format A4'

écho

écho 'Toutes les valeurs du deuxième tableau :'

imprimer '%s\n' ' ${produits[@]} '

Sortir :



La sortie suivante apparaît après l'exécution du script. Les valeurs des deux tableaux sont imprimées dans la sortie. L'ordre des index est conservé au moment de l'impression pour le tableau d'index non séquentiels :



  p1





Aller en haut

Définir un tableau avec plusieurs valeurs

Un tableau numérique avec plusieurs valeurs peut être déclaré à l'aide de la commande « declare » avec l'option -a ou sans utiliser la commande « declare ». Dans le script suivant, le premier tableau est déclaré à l'aide de la commande « declare » et le deuxième tableau est créé sans utiliser la commande « declare ».



#!/bin/bash

#Déclarez un tableau numérique avec le mot-clé 'declare'

déclarer -un des noms = ( 'Michael' 'David' 'Alexandre' 'Thomas' 'Robert' 'Richard' )

#Imprimer les valeurs du tableau

écho 'Toutes les valeurs du premier tableau :'

imprimer '%s\n' ' ${noms[@]} '

#Déclarez un tableau numérique sans le mot-clé 'declare'

livres = ( « Tutoriels de script Shell » «Bish Bash Bosh!» « Apprenez Bash rapidement » )

#Ajouter une nouvelle ligne

écho

#Imprimer les valeurs du tableau

écho 'Toutes les valeurs du deuxième tableau :'

imprimer '%s\n' ' ${livres[@]} '

Sortir :

La sortie suivante apparaît après l'exécution du script. Les valeurs des deux tableaux sont imprimées ici :

  p2

Aller en haut

Définir un tableau associatif

Le tableau qui contient la valeur de chaîne comme index est appelé tableau associatif. L'option -A est utilisée avec la commande « declare » dans Bash pour créer un tableau Bash associatif. Dans le script suivant, le premier tableau associatif est déclaré en mentionnant les index séparément et le deuxième tableau est déclaré en mentionnant toutes les paires clé-valeur au moment de la déclaration du tableau.

#!/bin/bash

#Déclarer une variable de tableau associatif sans valeur

déclarer -UN employé

#Attribuer une valeur séparément en définissant l'index

employé [ 'identifiant' ] = '78564'

employé [ 'nom' ] = 'Acteurs disponibles'

employé [ 'poste' ] = 'PDG'

employé [ 'salaire' ] = 300000

#Imprimer deux valeurs du tableau

écho 'Identifiant de l'employé : ${employé[id]} '

écho 'Nom de l'employé: ${employé[nom]} '

#Déclarer un tableau associatif avec des valeurs

déclarer -UN cours = ( [ code ] = 'CSE-206' [ nom ] = 'Programmation orientée objet' [ crédit_heure ] = 2.0 )

#Ajouter une nouvelle ligne

écho

#Imprimer deux valeurs de tableau du deuxième tableau

écho 'Nom du cours: ${cours[nom]} '

écho 'Heure de crédit : ${course[credit_hour]} '

Sortir :

La sortie suivante apparaît après l'exécution du script. Les valeurs particulières du tableau associatif sont imprimées ici en mentionnant la clé ou la valeur d'index :

  p3

Aller en haut

Comptez les valeurs du tableau

La méthode de comptage du total des éléments du tableau numérique et du tableau associatif est présentée dans le script suivant :

#!/bin/bash

#Déclarer un tableau numérique

déclarer -un des noms = ( 'Michael' 'David' 'Alexandre' 'Thomas' 'Robert' 'Richard' ) ;

écho 'La longueur du tableau numérique est ${#noms[@]} '

#Déclarer un tableau associatif

déclarer -UN cours = ( [ code ] = 'CSE-206' [ nom ] = 'Programmation orientée objet' [ crédit_heure ] = 2.0 )

écho 'La longueur du tableau associatif est ${#cours[@]} '

Sortir :

La sortie suivante apparaît après l'exécution du script. La longueur du tableau des tableaux numériques et associatifs est imprimée ici :

  p4

Aller en haut

Lire les valeurs du tableau par boucle

La méthode de lecture de toutes les valeurs d'un tableau numérique et d'un tableau associatif à l'aide de la boucle « for » est illustrée dans le script suivant :

#!/bin/bash

#Déclarer un tableau numérique

déclarer -un livres = ( 'Tutoriels de script Shell' 'Bish Bash Bosh!' 'Apprenez Bash rapidement' )

#Imprimer les valeurs du tableau numérique

écho 'Les valeurs du tableau numérique sont :'

pour dans dans ' ${livres[@]} '

faire

écho ' $ en '

fait

écho

#Déclarer un tableau associatif avec des valeurs

déclarer -UN clients = (

[ identifiant ] = 'H-5623'

[ nom ] = 'M. Ahnaf'

[ adresse ] = '6/A, Dhanmondi, Dacca.'

[ téléphone ] = '+8801975642312' )

#Imprimer les valeurs du tableau associatif

écho 'Les valeurs du tableau associatif sont :'

pour k dans ' ${!clients[@]} '

faire

écho ' k$ => ${clients[$k]} '

fait

Sortir :

La sortie suivante apparaît après l'exécution du script. Ici, les valeurs du tableau numérique et les paires clé-valeur du tableau associatif sont imprimées dans la sortie :

  p5

Aller en haut

Lire la plage particulière de valeurs du tableau

Les valeurs du tableau de la plage particulière des index sont affichées dans le script suivant. Dans le script, un tableau numérique de quatre éléments est défini. Deux valeurs de tableau du deuxième index du tableau sont imprimées ultérieurement.

#!/bin/bash

#Déclarer un tableau numérique

déclarer -un Gâteaux = ( 'Gateau au chocolat' 'Gâteau à la vanille' 'Gâteau de velours rouge' 'gâteau aux fraises' )

#Imprimer les valeurs particulières du tableau

écho 'Les 2ème et 3ème éléments des valeurs du tableau sont :'

imprimer '%s\n' ' ${gâteaux[@]:1:2} '

Sortir :

La sortie suivante apparaît après l'exécution du script. Les deuxième et troisième valeurs du tableau sont « Vanilla Cake » et « Red Velvet Cake » qui sont imprimées dans la sortie :

  p6

Aller en haut

Insérer les valeurs du tableau

La méthode d'ajout de plusieurs valeurs à la fin du tableau est présentée dans le script suivant. Le tableau principal qui est « $books » contient trois éléments et deux éléments sont ajoutés à la fin du tableau « $books ».

#!/bin/bash

#Déclarer un tableau numérique

déclarer -un livres = ( 'Tutoriels de script Shell' 'Bish Bash Bosh!' 'Apprenez Bash rapidement' )

#Imprimer les valeurs du tableau avant de les insérer

écho 'Valeurs du tableau :'

imprimer '%s\n' ' ${livres[@]} '

écho

livres = ( ' ${livres[@]} ' 'Ligne de commande Linux et Bible des scripts Shell' 'Guide de script Bash avancé par Mendel Cooper' )

#Imprimer les valeurs du tableau après l'insertion

écho « Valeurs du tableau après avoir inséré deux valeurs : »

imprimer '%s\n' ' ${livres[@]} '

Sortir :

La sortie suivante apparaît après l'exécution du script. Les valeurs du tableau avant et après l'insertion de nouvelles valeurs sont imprimées dans la sortie :

  p7

Aller en haut

Lire le contenu du fichier dans le tableau

Créez un fichier texte nommé « fruits.txt » avec le contenu suivant pour tester le script de cet exemple :

fruits.txt

mangue

Jacquier

Ananas

Orange

Banane

Dans le script suivant, le contenu d'un fichier est stocké dans un tableau nommé « $data ». Ici, chaque ligne du fichier est stockée comme chaque élément du tableau. Ensuite, les valeurs du tableau sont imprimées.

#!/bin/bash

#Lire le nom du fichier auprès de l'utilisateur

lire -p 'Entrez le nom du fichier :' nom de fichier

si [ -F $nom de fichier ]

alors

#Lire le contenu du fichier dans un tableau'

données = ( ` chat ' $nom de fichier ' ` )

écho 'Le contenu du fichier est donné ci-dessous :'

#Lire le fichier ligne par ligne

pour doubler dans ' ${données[@]} '

faire

écho $ligne

fait

être

Sortir :

La sortie suivante apparaît après l'exécution du script. La sortie affichée par la commande « cat » et la sortie du script sont similaires car la commande « cat » et le script accèdent au même fichier :

  p8

Aller en haut

Combinez les valeurs du tableau

Un nouveau tableau est créé en combinant les valeurs de plusieurs tableaux. Dans le script suivant, deux tableaux numériques de chaînes sont définis. Ensuite, un nouveau tableau est créé en combinant les valeurs de ces tableaux.

#!/bin/bash

#Déclarez le premier tableau

déclarer -un nomListe1 = ( 'Michael' 'David' 'Alexandre' 'Thomas' )

écho 'Les premières valeurs du tableau sont :'

imprimer '%s,' ${nameList1[@]}

écho

#Déclarez le deuxième tableau

déclarer -un listenom2 = ( 'Robert' 'Richard' )

écho 'Les valeurs du deuxième tableau sont :'

imprimer '%s,' ${nameList2[@]}

écho

#Créez un nouveau tableau en combinant deux tableaux

tableau_combiné = ( ' ${nameList1[@]} ' ' ${nameList2[@]} ' )

écho 'Les valeurs du tableau combinées sont :'

imprimer '%s,' ${combined_array[@]}

écho

Sortir :

La sortie suivante apparaît après l'exécution du script. Ici, les valeurs de trois tableaux sont imprimées dans la sortie. Le troisième tableau contient toutes les valeurs du premier et du deuxième tableau :

  p9

Aller en haut

Modifier les valeurs du tableau

La méthode de mise à jour d'une ou plusieurs valeurs de tableau en mentionnant l'index est présentée dans le script suivant :

#!/bin/bash

#Déclarez le premier tableau

déclarer -un liste de nom = ( 'Michael' 'David' 'Alexandre' 'Thomas' )

écho 'Valeurs du tableau :'

imprimer '%s,' ${nameList[@]}

écho

#Mettre à jour la 2ème valeur du tableau

liste de nom [ 1 ] = 'Robert'

écho « Valeurs du tableau après la mise à jour : »

imprimer '%s,' ${nameList[@]}

écho

Sortir :

La sortie suivante apparaît après l'exécution du script. Les valeurs du tableau principal et des tableaux mis à jour sont imprimées dans la sortie :

  p10

Supprimer les valeurs du tableau

La commande « unset » est utilisée pour supprimer l'élément particulier ou tous les éléments du tableau. Dans le script suivant, le deuxième élément du tableau est supprimé.

#!/bin/bash

#Déclarer un tableau numérique

déclarer -un livres = ( 'Tutoriels de script Shell' 'Bish Bash Bosh!' 'Apprenez Bash rapidement' )

#Imprimer les valeurs du tableau avant de les supprimer

écho 'Valeurs du tableau :'

imprimer '%s\n' ' ${livres[@]} '

écho

#Supprimer le 2ème élément

désarmé livres [ 1 ]

#Imprimer les valeurs du tableau après la suppression

écho « Valeurs du tableau après avoir supprimé la 2ème valeur : »

imprimer '%s\n' ' ${livres[@]} '

Sortir :

La sortie suivante apparaît après l'exécution du script. Les valeurs du tableau principal et les valeurs du tableau après suppression d'une valeur sont imprimées dans la sortie :

  p11

Aller en haut

Rechercher et remplacer les valeurs du tableau

Dans le script suivant, la valeur particulière du tableau est remplacée par une autre valeur si la valeur de recherche définie dans le modèle correspond à une valeur du tableau « $names ».

#!/bin/bash

#Déclarez le premier tableau

déclarer -un des noms = ( 'Michael' 'David' 'Alexandre' 'Thomas' )

#Imprimer les valeurs du tableau d'origine

écho « Valeurs originales du tableau : »

imprimer '%s\n' ' ${noms[@]} '

#Générer une chaîne après avoir remplacé les valeurs du tableau

tableau_mis à jour = ${names[@]/Alexandre/Richard}

#Imprimer les valeurs du tableau après le remplacement

écho 'Valeurs du tableau après remplacement :'

imprimer '%s\n' ' ${updated_array[@]} '

Sortir :

La sortie suivante apparaît après l'exécution du script. Les valeurs du tableau principal et les valeurs du tableau après remplacement d'une valeur sont imprimées dans la sortie :

  p12

Aller en haut

Utiliser un tableau comme argument de fonction

Dans le script suivant, une variable tableau est passée comme argument de fonction et les valeurs de ce tableau sont imprimées ultérieurement.

#!/bin/bash

#Déclarer un tableau de nombres

déclarer -un Nombres = ( dix 6 Quatre cinq 13 8 )

#Définir une fonction qui prendra une valeur d'argument

fonction ( )

{

#Lisez le premier argument

Nombres = 1 $

#Imprimer les valeurs du tableau

écho 'Valeurs du tableau :'

imprimer '%d\n' ' ${numéros[@]} '

}

#Appelle la fonction avec le tableau comme argument

fonction ' ${numéros[@]} '

Sortir :

La sortie suivante apparaît après l'exécution du script :

  p13

Aller en haut

Renvoie un tableau à partir de la fonction

Dans le script suivant, la fonction est appelée avec quatre arguments numériques. Un tableau est créé avec les valeurs des arguments et ce tableau est renvoyé par la fonction à l'appelant.

#!/bin/bash

#Définir une fonction qui lit quatre valeurs d'argument

fonction ( )

{

#Lire les valeurs des arguments

Nombres = ( 1 $ 2 $ 3 $ 4 $ )

#Renvoyer le tableau

écho ' ${numéros[@]} '

}

#Appelle la fonction avec trois arguments

return_val =$ ( fonction 78 Quatre cinq 90 23 )

#Stocker la valeur de retour dans un tableau

lire -un sur une <<< $return_val

#Imprimer les valeurs du tableau renvoyé

écho 'Les valeurs du tableau sont :'

pour dans dans ' ${num[@]} '

faire

écho ' $ en '

fait

Sortir :

La sortie suivante apparaît après l'exécution du script :

Aller en haut

Rendre le tableau vide

Le script suivant montre la méthode pour rendre un tableau vide à l'aide de la commande « unset ». Le nombre total de valeurs du tableau est imprimé avant et après avoir vidé le tableau.

#!/bin/bash

#Déclarer un tableau de nombres

déclarer -un Nombres = ( dix 6 Quatre cinq 13 80 )

écho 'Nombres de valeurs du tableau : ${#numéros[@]} '

#Rendre le tableau vide

désarmé Nombres

écho 'Nombre de valeurs du tableau après avoir rendu le tableau vide : ${#numéros[@]} '

Sortir :

La sortie suivante apparaît après l'exécution du script. Le nombre d'éléments du tableau est devenu 0 après avoir rendu le tableau vide :

  p15

Aller en haut

Conclusion

Différentes méthodes de déclaration, d'accès, de modification et de suppression des variables de tableau dans le script Bash sont présentées dans ce didacticiel à l'aide de 15 exemples simples. Nous espérons que ce tutoriel aidera les utilisateurs de Bash à connaître en détail les utilisations du tableau Bash.