TP grep
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.
- 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 ?
- le mot « qwerty » est-il présent dans le
fichier1 ? (on cherche un mot, pas une chaîne de
caractères)
- l'un des mots « the », « The »,
« tHe », « thE », « THe »,
« ThE », « tHE » ou « THE », est-il
présent dans fichier1 ?
- l'un de ces mots est-il situé en début de ligne ?
- l'un de ces mots est-il seul sur une ligne ?
- l'un de ces mots est-il seul sur une ligne, éventuellement
entouré de caractères blancs ?
- y a-t-il des lignes qui contiennent la chaîne « abc »
ou la chaîne « abcabc » ?
- y a-t-il des lignes qui ne contiennent que des succesions de
abc ? (abc ou abcabc ou ... abcabcabcabc ou ...)
- combien y a-t-il de lignes vides ?
- 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 ?
- 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 ?
- 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 ?
- trouve-t-on des chaînes de caractères composées d'un 'd' suivi
d'un chiffre puis d'un 'f' dans fichier1 ?
- 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 ?
- 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.
- 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 ?
- y a-t-il des * dans ce fichier ?
Exercice 2
On travaille maintenant sur le fichier html contenant ce sujet de TP.
- obtenez la liste de tous les balises html de ce document.
- combien y en a-t-il ? (pour répondre à cette question, la
commande Linux uniq peut être utile)
- 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 '<'
- y a-t-il des caractères en italique dans ce document ?
Exercice 3
On travaille maintenant sur ce
fichier html.
- 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)
- 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.
- listez les commandes de ce répertoire qui se terminent par la
lettre 'l'.
- listez les commandes de ce répertoire qui s'écrivent avec deux
caractères.
- listez les commandes de ce répertoire dont le nom contient (au
moins) deux 'l'.
- 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