Activité 2 : Découverte de Grep, Sed et Awk (3h)

Introduction

Grep, Sed et Awk sont des filtres, c’est à dire, qu’ils recoivent des données sur leur entrée standard, appliquent un traitement sur les données, et affichent leurs résultats sur leur sortie standard.

Ces outils ont tous en commun de reposer sur le concept d’expression régulière. Une expression régulière est une suite de symboles qui décrivent un motif (pattern).

  • Grep permet de filtrer les lignes d’un fichier qui correspondent à un motif ;

  • Sed permet d’éditer les lignes d’un fichier qui correspondent à un motif ;

  • Awk permet de coder des traitements complexes en fonction de certains motifs apparaissant dans un fichier.

Note

Maîtriser totalement ces trois outils nécessite un temps d’apprentissage significatif qui dépasse de loin le temps qui vous est alloué dans la SAE15. Pour ce qui vous sera demandé, nul besoin de devenir un expert de ces outils, quelques notions de base suffiront. Pour le projet nous utiliserons principalement Awk.

Stratégie de prise en main

Voici un lien sur le site du Grymoire présentant des tutoriels complets, progressifs et pédagogiques pour devenir un véritable sorcier Unix/Linux.

Avertissement

Les deux tutoriels précédents doivent être totalement lus et maîtrisés pour la suite de la SAE15.

Une fois à l’aise avec les expressions régulières :

  • Travaillez les notions de bases des tutoriels sur Sed et Awk. Des exercices vous seront proposés lors du TP en présentiel.

  • Pour Sed, il s’agit principalement de savoir faire une substitution simple avec la commande s/pattern/replacement/, puis de savoir en faire plusieurs de suite en les plaçant dans un script Sed.

    Lien vers le tutoriel Sed

  • Pour Awk, il s’agit de comprendre la structure de base d’un script Awk et les constructions usuelles pour les actions (variables, tableaux, affectation, conditionnelles et boucles). La syntaxe de Awk, comme celle de Java, est inspirée du langage C. Les notions vues dans R107 pour Java peuvent donc être rapidement adaptées à Awk.

    Lien vers le tutoriel Awk

Note

Des compléments sur Sed et Awk vous seront apportés dans les TP en présentiel, mais ils supposeront de connaître déjà les notions de bases, notions que vous devez acquérir par vous mêmes.