accueil > Traitement et recherche de texte > awk

Maîtriser la commande AWK : Le magicien du traitement de texte

AWK est un langage de script et un outil en ligne de commande puissant utilisé pour rechercher des motifs dans des fichiers texte et traiter ou reformater des données en fonction de ces motifs. Il est utilisé pour diverses tâches de traitement de texte, y compris la génération de rapports de données, l'extraction et la transformation de données. Grâce à ce guide, vous pourrez maîtriser l'utilisation de base et les fonctionnalités avancées d'AWK.

Présentation d'AWK

AWK est un acronyme dérivé des noms de ses trois développeurs : A. V. Aho, P. J. Weinberger et B. W. Kernighan. C'est un langage de manipulation de données largement utilisé dans les systèmes de type Unix. Il lit les données ligne par ligne à partir de fichiers ou de l'entrée standard et les traite en fonction de motifs et d'actions spécifiés.

Comment fonctionne AWK

AWK suit une structure de base : `motif { action }`. Chaque fois qu'une ligne est lue, si le `motif` correspond, l'`action` est effectuée. S'il n'y a pas de motif, l'action est effectuée pour chaque ligne, et s'il n'y a pas d'action, les lignes correspondantes sont imprimées telles quelles.

Fonctionnalités d'AWK

  • Traitement ligne par ligne: Lit et traite le fichier d'entrée une ligne (enregistrement) à la fois.
  • Accès champ par champ: Divise chaque ligne en champs ($, $2, ...) séparés par des espaces (délimiteur par défaut) et permet d'y accéder.
  • Correspondance de motifs: Peut effectuer des opérations uniquement sur les lignes qui correspondent à un motif spécifique.
  • Capacités de programmation: Fournit des fonctionnalités de programmation de base telles que des variables, des instructions conditionnelles, des boucles et des fonctions.
  • Génération de rapports: Peut facilement générer des rapports texte complexes.

Commandes et options clés d'AWK

Traitez les données texte avec précision en utilisant les différentes options, variables intégrées et motifs spéciaux d'AWK.

1. Utilisation de base et options d'entrée/sortie

2. Variables intégrées

3. Motifs spéciaux

Commande générée :

Essayez de combiner les commandes.

Description:

`awk` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Découvrez la magie du traitement de données texte à travers divers exemples pratiques de commandes AWK.

Imprimer uniquement la deuxième colonne d'un fichier

awk '{print $2}' data.txt

Extrait et imprime uniquement le deuxième champ (colonne) de chaque ligne du fichier `data.txt`. (Délimiteur par défaut : espace)

Imprimer des colonnes spécifiques d'un fichier CSV

awk -F',' '{print "Nom: " $1 ", Score: " $3}' scores.csv

Imprime le nom (premier champ) et le score (troisième champ) du fichier `scores.csv`, qui est séparé par des virgules (`,`).

Imprimer uniquement les lignes avec un motif spécifique

awk '/ERROR/{print}' log.txt

Imprime toutes les lignes contenant la chaîne 'ERROR' du fichier `log.txt`.

Imprimer avec les numéros de ligne

awk '{print NR ": " $0}' names.txt

Imprime chaque ligne du fichier `names.txt` précédée de son numéro de ligne.

Changer la valeur du deuxième champ dans les lignes où le premier champ est 'apple'

awk '$1 == "apple" {$2 = "fruit"; print}' inventory.txt

Trouve les lignes dans le fichier où le premier champ est 'apple', change le deuxième champ en 'fruit', puis imprime la ligne entière.

Afficher les messages avant et après le traitement du fichier et calculer la somme totale

awk 'BEGIN {total = 0; print "Début du calcul !"} {total += $1} END {print "Somme totale : " total}' numbers.txt

Additionne tous les nombres du fichier `numbers.txt` et affiche des messages au début et à la fin. (Suppose qu'il n'y a qu'un seul nombre par ligne)


commandes associées

Des commandes fonctionnellement similaires ou souvent utilisées ensemble.


Commandes de la même catégorie