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.
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.