2002-12-07 06:40:50 +01:00
|
|
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
|
|
<!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>
|
|
|
|
|
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<p> Ces exercices sont des questions de cours<72>: 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
|
|
|
|
|
servent <20> 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<70>sentation <20>l<EFBFBD>mentaire de <code>grep</code>,
|
|
|
|
|
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
|
|
|
|
|
permettent d'obtenir des lignes de contexte (qui pr<70>c<EFBFBD>dent et/ou suivent la
|
2007-07-17 12:01:59 +02:00
|
|
|
|
ligne o<> figure le mot)<29>?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep2">&icone.solution;
|
|
|
|
|
</a> Comment faire appara<72>tre le num<75>ro de la ligne o<> figure
|
2007-07-17 12:01:59 +02:00
|
|
|
|
le mot recherch<63><68>? Que se passe-t-il quand on demande <20>galement des
|
|
|
|
|
lignes de contexte<74>?</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
|
2007-07-17 12:01:59 +02:00
|
|
|
|
mot recherch<63><68>?</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
|
|
|
|
|
des caract<63>res (diff<66>rence entre majuscules et minuscules) dans sa
|
2007-07-17 12:01:59 +02:00
|
|
|
|
recherche<EFBFBD>?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep4">&icone.solution;
|
|
|
|
|
</a> Comment faire pour faire appara<72>tre non pas les lignes
|
2007-07-17 12:01:59 +02:00
|
|
|
|
o<EFBFBD> figurent le mot, mais les noms des fichiers<72>?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep5">&icone.solution;
|
|
|
|
|
</a> Comment faire appara<72>tre les lignes o<> ne figurent pas
|
2007-07-17 12:01:59 +02:00
|
|
|
|
le mot recherch<63><68>?</li>
|
2002-12-07 06:40:50 +01:00
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep51">&icone.solution;
|
|
|
|
|
</a> Comment faire appara<72>tre les noms des fichiers ne
|
2007-07-17 12:01:59 +02:00
|
|
|
|
contenant pas le mot recherch<63><68>?</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
|
2007-07-17 12:01:59 +02:00
|
|
|
|
que les lignes o<> figure le mot tel quel, et non pas ses variantes<65>? Par
|
|
|
|
|
exemple<EFBFBD>: on cherche le mot <20>travail<69>, mais pas <20>travailleur<75> ou
|
2002-12-07 06:40:50 +01:00
|
|
|
|
<EFBFBD>travailler<EFBFBD>.</li>
|
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#grep3">&icone.solution;
|
|
|
|
|
</a> Comment faire pour chercher plusieurs mots <20> la fois en
|
|
|
|
|
faisant appara<72>tre les num<75>ros des lignes ?</li>
|
|
|
|
|
|
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
<h2><a name="regexp">Introduction aux expressions r<>guli<6C>res</a></h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<ol>
|
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg1">&icone.solution;
|
|
|
|
|
</a> Chercher toutes les lignes commen<65>ant par <20>a<EFBFBD> ou <20>A<EFBFBD>.</li>
|
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg2">&icone.solution;
|
|
|
|
|
</a> Chercher toutes les lignes finissant par <20>rs<72>.</li>
|
|
|
|
|
|
|
|
|
|
<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;
|
|
|
|
|
</a> Chercher toutes les lignes commen<65>ant par une majuscule.</li>
|
|
|
|
|
|
|
|
|
|
<li> <a href="solutions/grep-sol.html#reg5">&icone.solution;
|
|
|
|
|
</a> Chercher toutes les lignes commen<65>ant par <20>B<EFBFBD>, <20>E<EFBFBD> ou
|
|
|
|
|
<EFBFBD>Q<EFBFBD>.</li>
|
|
|
|
|
|
|
|
|
|
<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;
|
|
|
|
|
</a> Chercher tous les mots contenant un <20>r<EFBFBD> pr<70>c<EFBFBD>d<EFBFBD> de
|
|
|
|
|
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
|
|
|
|
|
<EFBFBD>r<EFBFBD>.</li>
|
|
|
|
|
|
|
|
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="metainformation">
|
2007-07-17 12:01:59 +02:00
|
|
|
|
Auteur<75>: <20>milia Robin, Jo<4A>l Riou. Derni<6E>re modification le <date value="$Date: 2007-07-17 10:03:33 $"/>.
|
2002-12-07 06:40:50 +01:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
|