2009-09-20 12:34:28 +02:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
<!DOCTYPE html
|
|
|
|
|
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
|
|
|
|
"tuteurs://DTD/tml.dtd">
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>grep</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
<h1>Exercices sur <code>grep</code></h1>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<p> Ces exercices sont des questions de cours : les solutions se
|
2002-12-09 04:39:15 +01:00
|
|
|
|
trouvent toutes dans les <a
|
|
|
|
|
href="&url.tuteurs;unix/divers.html#man">pages de man</a> des commandes
|
|
|
|
|
en question. On suppose donc connues les commandes de <a
|
|
|
|
|
href="&url.tuteurs;unix/fichiers.html#less">less</a>, qui
|
2009-09-20 12:27:14 +02:00
|
|
|
|
servent à se déplacer dans les pages de man... Testez les commandes sur
|
|
|
|
|
des fichiers et répertoires d'essai pour vous faire la main et comprendre
|
|
|
|
|
ce qui se passe. Pour une présentation élémentaire de <code>grep</code>,
|
2002-12-09 04:39:15 +01:00
|
|
|
|
vous pouvez aller lire le <a
|
|
|
|
|
href="&url.tuteurs;unix/chercher.html">cours</a>. </p>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Pour voir la solution, cliquer sur le bouton &icone.solution;.
|
|
|
|
|
</p>
|
|
|
|
|
|
2002-12-09 04:39:15 +01:00
|
|
|
|
<h2><a name="options">Les options de <code>grep</code></a></h2>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<ol>
|
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep1">&icone.solution;
|
|
|
|
|
</a> Quelles sont les options de <code>grep</code> qui
|
2009-09-20 12:27:14 +02:00
|
|
|
|
permettent d'obtenir des lignes de contexte (qui précèdent et/ou suivent la
|
|
|
|
|
ligne où figure le mot) ?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep2">&icone.solution;
|
2009-09-20 12:27:14 +02:00
|
|
|
|
</a> Comment faire apparaître le numéro de la ligne où figure
|
|
|
|
|
le mot recherché ? Que se passe-t-il quand on demande également des
|
|
|
|
|
lignes de contexte ?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep22">&icone.solution;
|
|
|
|
|
</a> Comment faire pour afficher le nombre d'occurences du
|
2009-09-20 12:27:14 +02:00
|
|
|
|
mot recherché ?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep23">&icone.solution;
|
|
|
|
|
</a> Comment faire pour que <code>grep</code> ignore la casse
|
2009-09-20 12:27:14 +02:00
|
|
|
|
des caractères (différence entre majuscules et minuscules) dans sa
|
|
|
|
|
recherche ?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep4">&icone.solution;
|
2009-09-20 12:27:14 +02:00
|
|
|
|
</a> Comment faire pour faire apparaître non pas les lignes
|
|
|
|
|
où figurent le mot, mais les noms des fichiers ?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep5">&icone.solution;
|
2009-09-20 12:27:14 +02:00
|
|
|
|
</a> Comment faire apparaître les lignes où ne figurent pas
|
|
|
|
|
le mot recherché ?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep51">&icone.solution;
|
2009-09-20 12:27:14 +02:00
|
|
|
|
</a> Comment faire apparaître les noms des fichiers ne
|
|
|
|
|
contenant pas le mot recherché ?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep6">&icone.solution;
|
|
|
|
|
</a> Comment faire pour que <code>grep</code> ne recherche
|
2009-09-20 12:27:14 +02:00
|
|
|
|
que les lignes où figure le mot tel quel, et non pas ses variantes ? Par
|
|
|
|
|
exemple : on cherche le mot «travail», mais pas «travailleur» ou
|
|
|
|
|
«travailler».</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep3">&icone.solution;
|
2009-09-20 12:27:14 +02:00
|
|
|
|
</a> Comment faire pour chercher plusieurs mots à la fois en
|
|
|
|
|
faisant apparaître les numéros des lignes ?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
</ol>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<h2><a name="regexp">Introduction aux expressions régulières</a></h2>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<ol>
|
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg1">&icone.solution;
|
2009-09-20 12:27:14 +02:00
|
|
|
|
</a> Chercher toutes les lignes commençant par «a» ou «A».</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg2">&icone.solution;
|
2009-09-20 12:27:14 +02:00
|
|
|
|
</a> Chercher toutes les lignes finissant par «rs».</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg3">&icone.solution;
|
|
|
|
|
</a> Chercher toutes les lignes contenant au moins un
|
|
|
|
|
chiffre.</li>
|
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg4">&icone.solution;
|
2009-09-20 12:27:14 +02:00
|
|
|
|
</a> Chercher toutes les lignes commençant par une majuscule.</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg5">&icone.solution;
|
2009-09-20 12:27:14 +02:00
|
|
|
|
</a> Chercher toutes les lignes commençant par «B», «E» ou
|
|
|
|
|
«Q».</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg6">&icone.solution;
|
|
|
|
|
</a> Chercher toutes les lignes finissant par un point
|
|
|
|
|
d'exclamation.</li>
|
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg7">&icone.solution;
|
|
|
|
|
</a> Chercher toutes les lignes ne finissant pas par un signe
|
|
|
|
|
de ponctuation (point, virgule, point-virgule, deux-points, point
|
|
|
|
|
d'interrogation, point d'exclamation). </li>
|
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg8">&icone.solution;
|
2009-09-20 12:27:14 +02:00
|
|
|
|
</a> Chercher tous les mots contenant un «r» précédé de
|
2002-12-07 06:40:50 +01:00
|
|
|
|
n'importe quelle lettre majuscule ou minuscule. </li>
|
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg9">&icone.solution;
|
|
|
|
|
</a> Chercher tous les mots dont la seconde lettre est un
|
2009-09-20 12:27:14 +02:00
|
|
|
|
«r».</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="metainformation">
|
2009-09-27 22:00:55 +02:00
|
|
|
|
Auteur : Émilia Robin, Joël Riou. <date value="from git" />
|
2002-12-07 06:40:50 +01:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
|