Exemples d'utilisation des scripts GAWK

Exemples d'utilisation des scripts GAWK
Une façon de travailler avec des fichiers dans Linux est d'utiliser un langage de script pour gérer l'automatisation des tâches répétées. Un exemple d'une bonne langue de script est awk ce qui facilite l'extraction des données et le travail avec des modèles. L'implémentation GNU du langage de script awk est rester bouche bée. Si vous n'avez pas encore accepté son utilisation, vous avez de la chance. Ce message présente les différents exemples de l'utilisation de GAWK dans Linux, et à la fin de ce guide, vous aurez une solide compréhension de travailler avec lui.

Commencer avec GAWK

Si vous utilisez les dernières versions Linux, GAWK doit être installé par défaut. Vous pouvez vérifier en vérifiant sa version.

Il existe différentes façons d'utiliser GAWK. Les fonctionnalités communes sont les suivantes:

  • Format des lignes de sortie
  • Transformer les fichiers de données
  • Analyse des fichiers par ligne
  • Division de la ligne d'entrée en champs
  • Produire des rapports formatés
  • Tri des données

La syntaxe de base pour GAWK est:

$ GAWK [Options de style POSIX / GNU] -F Program_file [-] Fichier
$ GAWK [Options de style POSIX / GNU] [-] Fichier 'Program'…

Pour utiliser GAWK, vous utilisez soit le -F Option pour spécifier un fichier de script ou spécifier directement le script sur la ligne de commande.

Il existe trois options importantes à noter lors de l'utilisation de GAWK:

1. -Fichier f, -file = fichier: Utilisé lorsque vous souhaitez utiliser GAWK et lire les commandes à partir d'un fichier. Le fichier est le script.

2. -v var = val, -assign = var = val: Utilisé lorsque vous devez attribuer une valeur à une variable avant d'exécuter un script.

3. -F fs, -field-separator = fs: La valeur de la variable prédéfinie FS est utilisée comme séparateur pour le champ d'entrée.

Variables intégrées

GAWK propose des variables intégrées telles que:

FS: Utilisé lors de la division des fichiers et contient le caractère séparateur de champ.

RS: Contient le séparateur de caractères actuel.

OFS: Contient le séparateur de champs de sortie qui sépare les champs qui impriment awk.

NF: Le nombre de champs pour l'enregistrement d'entrée est stocké dans le NF.

ORS: Contient le séparateur de champ de sortie qui sépare les lignes de sortie imprimées par awk.

NR: Contient le nombre total de lignes d'entrée.

Dans l'exemple précédent, nous utilisons * comme séparateur pour les lignes d'entrée dans le fichier.

Exemple d'utilisation de GAWK

1. -F

Pour trier un fichier texte et imprimer les trois premiers champs séparés par le côlon, utilisez la commande suivante. Notez que nous utilisons le passage Comme notre fichier ici:

$ gawk -f: 'print 1 $; imprimer 2 $; Imprimer 3 $ '/ etc / passwd

Ici, notre séparateur est un côlon complet. Puisque nous voulons les trois premiers champs, vous les spécifiez comme indiqué dans l'exemple précédent. Vous pouvez le modifier et utiliser un séparateur différent et un nombre différent de champs.

2. -F

Pour spécifier la source du programme AWK à partir d'un fichier, utilisez l'indicateur -f suivi du fichier:

$ gawk -f: -f fichier1.txt / etc / passwd

3. Imprimer le contenu d'un fichier

L'utilisation de GAWK sur un fichier imprime toutes les lignes de données dans le fichier.

4. Travailler avec des modèles

Vous pouvez également utiliser GAWK et imprimer uniquement les lignes correspondant à un motif donné. Par exemple, pour imprimer une ligne contenant un mot particulier, dans notre cas, le mot est kim, La commande serait:

$ gawk '/ kim / print' nom de fichier

Ici, le motif peut également être un personnage. Par exemple, pour imprimer toutes les lignes qui contiennent un côlon, la commande serait comme dans l'image suivante:

Vous pouvez également spécifier les lignes spécifiques à imprimer. Par exemple, pour imprimer les lignes contenant des caractères spécifiques tels que supérieur à 6, la syntaxe est:

$ gawk 'longueur (0 0)> 6' nom de fichier

5. Division des lignes en champs

GAWK, par défaut, imprime chaque champ lors de l'impression des lignes dans un fichier. Cependant, vous pouvez spécifier le champ à imprimer. Le premier champ est stocké dans le 1 $ et toute la ligne est représentée comme 0 $. Par défaut, la ligne entière est imprimée à moins que vous ne spécifiiez pour séparer les champs en fonction de l'espace blanc.

Par exemple, pour séparer les lignes et imprimer uniquement le deuxième champ de chaque ligne, la commande serait:

$ gawk 'imprimer 2 $' nom de fichier

Pour ajouter les numéros de ligne, ajoutez le NR variable.

La nouvelle commande serait:

$ gawk 'imprimer nr, $ 2' nom de fichier

6. Obtenez le nombre de lignes

Vous devrez peut-être obtenir le nombre total de lignes pour les fichiers volumineux, et vous pouvez y parvenir en utilisant la syntaxe suivante:

$ gawk 'end imprimer nr' nom de fichier

Conclusion

Savoir utiliser GAWK dans Linux est amusant et utile, surtout lorsqu'il s'agit de données texte. Vous pouvez utiliser les différents modèles pour extraire et manipuler les lignes de données. Espérons que les exemples couverts dans cet article vous donnent une longueur d'avance et ouvrent les yeux en utilisant GAWK pour différentes activités.