TP grep
Master MIASHS,ID
Philippe Preux
Université de Lille 3
Semestre 1

Il s'agît d'un TP sur la commande grep. Il faut donc utiliser cette commande pour répondre aux questions du TP. La réponse correcte aux questions consiste à donner la commande Linux qui vous permet de répondre à la question.

Remarque : d'une manière générale, il est toujours plus prudent de mettre l'expression que vous recherchez avec grep entre '. (Il y a certains cas où cela ne marche pas (il faut mettre des ""), mais ces cas ne sont pas rencontrés dans ce TP.)

Exercice 1

Récupérez ce fichier et mettez-le dans votre répertoire personnel.

  1. la chaîne de caractères « the » est-elle présente dans fichier1 ? combien de lignes comportent cette chaîne de caractères ? quelles lignes contiennent cette chaîne ?
  2. le mot « qwerty » est-il présent dans le fichier1 ? (on cherche un mot, pas une chaîne de caractères)
  3. l'un des mots « the », « The », « tHe », « thE », « THe », « ThE », « tHE » ou « THE », est-il présent dans fichier1 ?
  4. l'un de ces mots est-il situé en début de ligne ?
  5. l'un de ces mots est-il seul sur une ligne ?
  6. l'un de ces mots est-il seul sur une ligne, éventuellement entouré de caractères blancs ?
  7. y a-t-il des lignes qui contiennent la chaîne « abc » ou la chaîne « abcabc » ?
  8. y a-t-il des lignes qui ne contiennent que des succesions de abc ? (abc ou abcabc ou ... abcabcabcabc ou ...)
  9. combien y a-t-il de lignes vides ?
  10. trouve-t-on des chaînes de caractères composées d'un 'd' suivi d'un seul caractère quelconque puis d'un 'f' dans fichier1 ?
  11. trouve-t-on des chaînes de caractères composées d'un 'd' suivi de trois caractères quelconques puis d'un 'f' dans fichier1 ?
  12. trouve-t-on des chaînes de caractères composées d'un 'd' suivi d'un 'e' ou d'un 'E' puis d'un 'f' dans fichier1 ?
  13. trouve-t-on des chaînes de caractères composées d'un 'd' suivi d'un chiffre puis d'un 'f' dans fichier1 ?
  14. trouve-t-on des chaînes de caractères composées d'un 'd' suivi d'une lettre minuscule puis d'une lettre majuscule puis d'un 'f' dans fichier1 ?
  15. trouve-t-on des nombres entiers (suite de chiffres) dans fichier1 ? Faites en sorte que grep n'affiche que les nombres et pas toute la ligne qui contient un nombre.
  16. trouve-t-on des nombres hexadécimaux (« 0x » suivi d'une suite de chiffres et de 'a', 'b', 'c', 'd', 'e' ou 'f') dans fichier1 ?
  17. y a-t-il des * dans ce fichier ?

Exercice 2

On travaille maintenant sur le fichier html contenant ce sujet de TP.

  1. obtenez la liste de tous les balises html de ce document.
  2. combien y en a-t-il ? (pour répondre à cette question, la commande Linux uniq peut être utile)
  3. lorsqu'on le visualise à l'aide d'un navigateur (c'est-à-dire, je ne parle pas du source html mais de ce que l'on voit), voit-on un caractère '<'
  4. y a-t-il des caractères en italique dans ce document ?

Exercice 3

On travaille maintenant sur ce fichier html.

  1. quelle commande tapez-vous pour obtenir les numéros de téléphone qui s'y trouvent ? (on suppose qu'un numéro de téléphone est composé de deux chiffres suivis d'un point, suivis de deux chiffres suivis d'un point, suivis de deux chiffres suivis d'un point suivis de deux chiffres suivis d'un point suivis de deux chiffres)
  2. quelle commande tapez-vous pour obtenir la liste des urls se trouvant dans cette page ?

Exercice 4

De nombreuses commandes Linux sont situées dans le répertoire /usr/bin.

  1. listez les commandes de ce répertoire qui se terminent par la lettre 'l'.
  2. listez les commandes de ce répertoire qui s'écrivent avec deux caractères.
  3. listez les commandes de ce répertoire dont le nom contient (au moins) deux 'l'.
  4. Il y a aussi des commandes dans les répertoires /bin et /usr/bin/X11. Répondre à nouveau aux trois questions précédentes en cherchant désormais dans les trois répertoires de commandes en même temps.

Liens