Comment simuler un tableau de tableaux en bash

Comment simuler un tableau de tableaux en bash
Bash est en effet une langue interprétée et interactive, et combien d'espace réserver à l'avance ne doit pas être connu. Il est également possible de préparer un nouveau tableau dynamiquement sans le déclarer ou d'étendre un tableau précédemment défini pour inclure d'autres entrées. Pourtant, les tableaux multidimensionnels ne sont pas pris en charge par Bash, et nous ne pouvons pas obtenir des composants de tableau qui sont également des tableaux. Heureusement, les tableaux multidimensionnels peuvent être simulés. Cet article fournira quelques illustrations de la simulation d'un tableau de tableaux dans un script bash.

Exemple 01: Utilisation de boucles «pour» simples

Nous avons un exemple de simulation d'un tableau de tableaux en utilisant la méthode simple. Commençons à montrer comment charger une table M X N définie par l'utilisateur avec des nombres aléatoires (qui ne sont pas aléatoires, car chaque colonne aura à tout moment un numéro similaire dans chaque exécution sur la plupart de ses lignes, mais cela ne s'applique pas à la question ), et imprimez-le. Lorsque nous travaillons sur un bash que vous avez, Bash version 4, le script ci-dessous fonctionnerait certainement efficacement. Nous ne devons pas déclarer solitaire 0; Cela ressemble plus à une solution parfaite pour être accepté vigoureusement. Nous avons déclaré un tableau avec le mot-clé «-a». Si nous ne définissons pas le tableau associatif en utilisant -a, le code peut ne pas fonctionner pour nous. Le mot-clé de lecture est ensuite utilisé pour lire l'entrée de l'utilisateur, qui est les lignes et les colonnes d'une table. Ensuite, nous avons utilisé deux boucles «pour» pour l'augmentation des lignes et des colonnes d'un tableau. Dans For Loop, nous avons fait un tableau bidimensionnel. Dans le suivant pour Loop, toutes les valeurs d'un tableau ont été affichées.

Lorsque vous exécutez le fichier bash, il demandera à un utilisateur de saisir des lignes et des colonnes comme «M» et «N». Après cela, pour les boucles généreront une table bidimensionnelle comme ci-dessous.

Exemple 02: Utilisation de hachages

Prenant le même cas, nous pouvons imiter les tableaux en utilisant des hachages. Cependant, nous devons faire plus attention aux dirigeants de zéros et de plusieurs autres choses. La prochaine explication fonctionne. Cependant, la sortie est très loin d'être idéale. Nous avons pris des rangées et des colonnes manuellement. Car la boucle est utilisée pour faire une matrice. Ensuite, nous avons utilisé des hachages pour imiter le tableau bidimensionnel. Enfin, le tableau sera imprimé comme ci-dessous.

Exécuter le fichier «Entrée.sh ”dans le shell bash en utilisant la commande bash. Vous trouverez une table avec des lignes et des colonnes Numéro mentionné.

Exemple 03: Utilisation de tableaux associatifs

Ayons un exemple de simulation ayant un effet quelque peu similaire en utilisant les tableaux associatifs utilisés comme tableau de tableaux comme ci-dessous. Après la déclaration du tableau associatif, nous avons défini les valeurs pour les tableaux séparément. Après cela, nous sommes arrivés pour imprimer les valeurs de manière bidimensionnelle.

Vous pouvez voir la sortie comme un tableau bidimensionnel lors de l'exécution du fichier. Si nous ignorons la ligne «Declare -a Arr», l'instruction Echo peut afficher (2 3) plutôt que (0 1), puisque (0,0), (1,0), et d'autres peuvent avoir été utilisés comme mathématique Expression et calculée à 0 (la valeur du côté droit d'une virgule).

Exemple 04: Utilisation de références de noms

Dans Bash, c'est un problème fréquent avec la référence des tableaux à l'intérieur des tableaux que vous devrez construire des références de noms en utilisant Declare -N. Ce nom après -n sert de nom de nom pour la valeur allouée (après =). Actuellement, nous gérons cette variable uniquement avec le nom d'attribut ref pour étendre comme s'il s'agissait d'un tableau et étendons le tableau cité de manière appropriée comme au préalable. Ayons un exemple de noms de noms. Nous avons réussi à déclarer deux tableaux. Après cela, nous avons attribué les deux tableaux à un autre tableau en tant que membre. Nous avons utilisé pour Loop pour faire un tableau bidimensionnel. Nous avons fait une autre variable pour ajouter les valeurs un par un du «groupe» du tableau à titre de comparaison. Au fond, il ira aux membres des tableaux intérieurs «bar» et «foo» pour prendre des valeurs et les comparer tout en imprimant le message.

Lorsque nous exécutons le fichier «entrée.sh ”, vous verrez la sortie ci-dessous. La variable «LST» a des valeurs de tableaux intérieurs dans le tableau «Groupes».

Exemple 05: Utilisation du mot-clé Cut

Seulement maintenant, je suis tombé dedans. Il y avait eu une approche assez simple qui a fonctionné pour tout le monde. Pour afficher une carte principale pour le système, j'ai décidé d'utiliser un tableau contenant un nom de périphérique et un emplacement d'écran. Nous devons concaténer le titre de l'unité et l'emplacement correspondant d'un écran dans une seule chaîne, en utilisant uniquement un délimiteur, ce que nous supposons ne se produira dans aucune de nos valeurs (dans mon cas, j'ai utilisé .). Et j'ai utilisé un mot-clé «coupe» pour diviser les valeurs de béton en leurs composants si nécessaire. Il peut y avoir une approche plus claire et plus facile à faire, cependant, et cela ne fait qu'illustrer qu'en un sens, en bas, nous pouvons construire un tableau multidimensionnel, bien que cela ne l'aide pas. Après cela, vous devez imprimer à la fois le nom de l'appareil et son emplacement séparément après avoir créé la sous-chaîne.

Exécutons l'entrée de bash «.fichier sh ”. Vous verrez l'appareil séparé et son emplacement dans l'invite de shell comme pendant l'exécution. La solution fonctionne en utilisant la commande Cut.

Exemple 06

Prenons un petit exemple pour imiter un tableau multidimensionnel. Dans la fonction Load_alpha (), tous les alphabets seront chargés dans le tableau. Après cela, la fonction print_alpha () est déclarée et utilisée pour imprimer tous les alphabets de l'ordre des lignes-major comme une matrice ou un format bidimensionnel. D'un autre côté, nous avons utilisé la fonction rotate () pour faire tourner le tableau. Essayons cet exemple dans la coquille de bash pour voir les résultats.

Pendant l'exécution, nous avons trouvé une très belle structure de tableau multidimensionnel dans la coquille de bash comme ci-dessous

Conclusion

Nous avons réussi quelques exemples pour simuler des tableaux de tableaux en bash. J'espère que ca fonctionne!