• Introduction à AWK

    Awk qui tire son nom de l'abréviation de ses 3 inventeurs (Alfred Aho, Peter Weinberger Brian Kernighan ) est un langage de traitement de gestion de fichiers texte destiné à effectuer entre autres des opérations d' extraction et traitement des données contenus dans ces fichiers.

    J'ai découvert la commande AWK lorsque je cherchais à extraire des informations d'un fichier pour un script.

    Pour comprendre comment fonctionnait AWK, je me suis appuyé sur ces 2 documentations.

    La commande AWK

    Système UNIX : Programme awk

    Pour le tutoriel, je vais utiliser un fichier que j'ai appelé "Adresses" ( le contenu de ce fichier est imaginaire )

    Ce fichier contient 4 champs :

    - $1 : prénom et nom de la personne.

    - $2 : adresse mail de la personne.

    - $3 : numéro de téléphone portable de la personne.

    - $4 : numéro de téléphone fixe de la personne.

    Dans ce tableau, j'ai également séparé chaque champ par une virgule afin que vous puissiez comprendre comment fonctionne les séparateurs de champs.

     

    Introduction à AWK

     ( cliquer sur l'image pour l'agrandir )

     

    Introduction à AWK

     ( cliquer sur l'image pour l'agrandir )

      

    Je vais commencer par afficher le contenu de mon fichier :

    awk '{print}' Adresses

     

    Introduction à AWK

       ( cliquer sur l'image pour l'agrandir )

     

    Maintenant, je vais chercher le nombre de lignes contenues dans le fichier.

    awk 'END {print NR}' Adresses

     

    Introduction à AWK

       ( cliquer sur l'image pour l'agrandir )

     

    J'affiche le 1er mot de chaque ligne.

    awk '{print $1}' Adresses

     

    Introduction à AWK

        ( cliquer sur l'image pour l'agrandir )

     

    Je cherche le contenu du 1er champ ( $1 ) en appliquant une virgule comme séparateur de champ ( -F ' , ' ).

    awk -F ','  '{print $1}' Adresses

     

    Introduction à AWK

       ( cliquer sur l'image pour l'agrandir )

     

    ici, je rajoute le 3ème champ en plus ( $1,$3 ) en appliquant une virgule comme séparateur de champ ( -F ' , ' ).

    awk -F ','  '{print $1,$3}' Adresses

     

    Introduction à AWK

       ( cliquer sur l'image pour l'agrandir )

     

    Je cherche les lignes contenant l'expression carole ( / / permettant de chercher une expression ).

     awk '/carole/' Adresses

     

    Introduction à AWK

       ( cliquer sur l'image pour l'agrandir )

     

    Je cherche les lignes contenant la lettre t .

    awk '/t/' Adresses

     

    Introduction à AWK

        ( cliquer sur l'image pour l'agrandir )

     

    Je recherche les lignes contenant un t ou un A  ( [  ] pour grouper les éléments ).

     awk '/[tA]/' Adresses

     

    Introduction à AWK

        ( cliquer sur l'image pour l'agrandir )

     

    Je recherche les lignes commençant par la lettre M ( ^ pour indiquer le début de la ligne ).

    awk '/^M/' Adresses

     

    Introduction à AWK

        ( cliquer sur l'image pour l'agrandir )

     

    Je recherche les lignes commençant par les lettres M ou B.

    awk '/^[MB]/' Adresses

     

    Introduction à AWK

        ( cliquer sur l'image pour l'agrandir )

     

    Je cherche les lignes finissant par le chiffre( $ pour indiquer la fin de la ligne ).

    awk '/7$/' Adresses

     

    Introduction à AWK

        ( cliquer sur l'image pour l'agrandir )

     

    Je recherche les lignes finissant par les chifrres 8 ou 5.

    awk '/[85]$/' Adresses

     

    Introduction à AWK

      ( cliquer sur l'image pour l'agrandir )

     

    Je recherche toutes les lignes contenant des majuscules ( - pour indiquer l'intervalle )

    awk '/[A-Z]/' Adresses

     

    Introduction à AWK

      ( cliquer sur l'image pour l'agrandir )

     

    Même recherche mais dans un intervalle de lettres compris entre T et V.

    awk '/[T-V]/' Adresses

     

    Introduction à AWK

     ( cliquer sur l'image pour l'agrandir )

     

    Et ici toutes les lignes contenant des minuscules dans un intervalle de lettres compris entre u et z.

    awk '/[u-z]/' Adresses

     

    Introduction à AWK

      ( cliquer sur l'image pour l'agrandir )

     

    Conclusion :

    Comme vous avez pu le voir, AWK est un language puissant et ce tutoriel ne vous a montré qu'une petite partie de ces possibilités.

     

    « Monitorer son système avec linux-dashInventorier son système avec I-NEX »

    Tags Tags : , , , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :