Comment utiliser le tableau dans la commande awk

Comment utiliser le tableau dans la commande awk
Une variable de tableau est utilisée pour stocker plus d'une données. Il est pris en charge par la plupart des langages de programmation pour stocker plusieurs données. Un tableau a deux parties. Ce sont des clés et de la valeur. La clé est utilisée pour accéder à l'emplacement de la valeur. Un tableau peut être numérique et associatif. Le tableau numérique ne prend en charge que la valeur numérique car la clé et le tableau associatif prennent en charge la valeur numérique et d'index en tant que clé. Un tableau associatif est pris en charge par la commande awk. Comment vous pouvez définir, accéder ou modifier le tableau associatif dans la commande awk est affiché dans ce tutoriel en utilisant divers exemples.

Syntaxe:

ArrayName [clé] = valeur

Un nom doit déclarer la variable du tableau. nom d'arrache est le nom du tableau ici. Chaque tableau doit utiliser le troisième support pour définir le clé ou indice et ce sera n'importe quelle valeur de chaîne pour le tableau associatif. Valeur peut être n'importe quel caractère, numéro ou chaîne qui stockera dans l'index particulier du tableau.

Exemple-1: Définition et lecture du tableau unidimensionnel dans AWK

Un tableau unidimensionnel peut stocker une seule liste de données de colonne. Ce type de tableau contient une seule clé et valeur pour chaque élément de tableau. Ce tableau peut être utilisé dans la commande awk comme d'autres langages de programmation. Dans cet exemple, un tableau nommé livre est déclaré avec trois éléments et pour la boucle est utilisé pour lire et imprimer chaque élément. Exécutez la commande suivante à partir du terminal.

$ echo | awk 'begin book ["html"] = "html poche guide 2010";
livre ["js"] = "JavaScript efficace";
réserver ["css"] = "Learning Web Design";
Fin for (i in book) imprimer "le livre de", i "est", livre [i]; '

Sortir:

Exemple-2: Définition et lecture du tableau bidimensionnel dans AWK

Un tableau bidimensionnel est utilisé pour stocker la liste des données tabulaires qui contient un nombre fixe de lignes et de colonnes. Le tableau bidimensionnel nommé des étudiants est déclaré dans cet exemple qui contient trois éléments. Ici, l'ID et le nom de l'élève sont utilisés comme valeurs clés du tableau. Comme l'exemple précédent, la boucle for-in est utilisée dans le script awk pour imprimer les valeurs du tableau. Exécutez le script suivant à partir du terminal.

$ echo | awk 'begin
étudiants ["87462, Mohammed Ali"] = 87;
étudiants ["98376, Sakib al Hasan"] = 99;
étudiants ["79937, Musfikur Rahman"] = 88;
print "(id, nom) => marques";

End for (i in Students) imprimer "(", i, ") =>", étudiants [i]; '

Sortir:

Exemple-3: Suppression de l'élément de tableau

Toute valeur du tableau peut être supprimée en fonction de la valeur clé. Ici, livre Le tableau avec trois éléments est défini au début du script. Ensuite, la valeur de la clé Html est supprimé en utilisant supprimer commande. La valeur de l'élément de Html La clé est imprimée avant et après le supprimer commande. Exécutez la commande suivante pour vérifier la sortie.

$ echo | awk 'begin book ["html"] = "html poche guide 2010";
livre ["js"] = "JavaScript efficace";
réserver ["css"] = "Learning Web Design";
Imprimer "avant de supprimer -", livre ["html"];
supprimer le livre ["html"];
imprimer "\ nafter delete -", book ["html"]; '

Sortir:

La sortie montre que la valeur de Html L'index est vide après l'exécution supprimer commande.

Exemple-4: Reading Bash Array in awk

Dans les exemples précédents, le tableau est déclaré dans la commande awk et itéré par boucle for-in. Mais vous pouvez lire n'importe quel tableau de bash par awk script. Dans cet exemple, un tableau de bash nommé égouter est déclaré dans la première commande. Dans la deuxième commande, les valeurs de tableau bash sont transmises dans la commande awk qui stocke tous les éléments dans un tableau awk nommé nommé awkarray. Les valeurs du tableau AwkArray sont imprimées en utilisant pour Loop. Exécutez la commande suivante à partir du terminal pour vérifier la sortie.

$ lang = ("php" "asp" "jsp" "c #" "c ++")
$ printf '% s \ n' "$ lang [@]" | awk 'awkArray [nr] = $ 1 end pour
(I In awkArray) imprimer AwkArray [i], "\ n"; '

Exemple-5: lire le contenu du fichier dans un tableau awk

Le contenu de n'importe quel fichier peut être lu en utilisant un tableau awk. Créer un fichier texte nommé oiseau.SMS avec le contenu ci-dessous.

oiseau.SMS

Cocktail
Caille
Perroquet gris
Baazigar

Le script awk suivant est utilisé pour lire le contenu de oiseau.SMS Déposer et stocker les valeurs dans le tableau, awkarray. car la boucle est utilisée pour analyser le tableau et imprimer les valeurs dans le terminal. Exécutez le script suivant à partir du terminal.

$ awk 'AwkArray [COMTER ++] = $ 1; End pour (n = 0; nimprimer awkarray [n], "\ n"; ' oiseau.SMS

Sortir:

Le script imprime le contenu de oiseau.SMS.

Exemple-6: supprimer les entrées en double d'un fichier

Le script awk peut être utilisé pour supprimer les données en double de n'importe quel fichier texte. Créer un fichier texte nommé des fruits.SMS avec le contenu suivant. Il y a deux données en double dans le fichier. Ceux-ci sont Pomme et Orange.

des fruits.SMS

Pomme
Orange
Raisin
Pomme
Banane
Orange
Goyave

Le script awk suivant lira chaque ligne à partir du fichier texte, des fruits.SMS et vérifier que la ligne actuelle existe ou non dans le tableau, arr. Si la ligne existe dans le tableau, elle ne stockera pas la ligne dans le tableau et n'imprimera pas la valeur dans le terminal. Ainsi, le script ne stockera que les lignes uniques du fichier dans le tableau et imprimera. Exécutez les commandes à partir du terminal.

$ fruits de chat.SMS
$ awk '!(0 $ dans arr) print arr [0], 0 $; ' des fruits.SMS

Sortir:

Le premier imprimera le contenu du fichier, fruits.txt et la deuxième commande impriment le contenu des fruits.txt après avoir omis des lignes en double du fichier.

Conclusion:

Ce tutoriel montre les différentes utilisations du tableau dans le script awk en utilisant différents exemples avec des explications. Bash Array et tout contenu de fichier texte peut également être accessible en utilisant un tableau awk. Si vous êtes nouveau dans la programmation awk, ce tutoriel vous aidera à apprendre les utilisations de l'awk array à partir de la base et vous pourrez utiliser correctement le tableau dans awk.