Partie 2

Exercices sur les Jokers/Expressions Régulières et sur les fichiers de GERMINAL

Dans la deuxième partie nous continuons le travail dans la fenêtre de commande, créant de nouveaux fichiers et dossiers qu'on peut ensuite déplacer, les uns dans les autres, sans quitter le terminal. Nous avons aussi commencé à travailler avec la commande Egrep, qui nous permet d'effectuer des recherches des expressions régulières dans un fichier donné, ou encore de faire quelques modifications d'un texte. Pour voir plus clairement les photos il suffit de cliquer dessus.

Jokers et Expressions Régulières

Question 1  •  Vous avez chez vous des fichiers appelés essai1, essai2, essai3 et essai4. Comment les effacer en une seule ligne de commande ?

Dans le terminal, tapez rmdir essai*

Question 2  •  Dans mon répertoire d'accueil, j'ai un certain nombre de fichiers avec un suffixe .c. Je désire les regrouper dans un répertoire que j'appelerai C/. Quelles sont les commandes que je dois taper ?

Dans le terminal, tapez d'abord mkdir C, et puis mv *.c C

Question 3  •  Vous désirez regrouper dans un répertoire Rangement les fichiers dont le nom contient un caractère minuscule suivi d'un caractère majuscule. Quelle(s) est/sont la/les commande(s) à donner ?

Dans le terminal, tapez d'abord mkdir Rangement, puis mv *[a-z][A-Z]* Rangement

Question 4  •  Même chose avec les fichiers dont le nom contient trois voyelles à la suite.

D'abord il faut faire encore mkdir Rangement, et après mv *[aeiou][aeiou][aeiou]* Rangement

Question 5  •  En utilisant ls et grep, affichez la liste des fichiers dans /bin dont le nom :

* Commence par «a» et dont la deuxième lettre est «s» ou «t»;

ls | egrep "^a[st]*"

* Contient «un» et se termine par «t»;

ls | egrep "*un*t\b"

* Contient «gre» ou «st».

ls | egrep -e gre -e st

* Contient exactement deux lettres «m»;

ls | egrep "^[^m]*m[^m]*m[^m]*$"

* Contient au moins deux lettres «m»;

ls | egrep ".*m.*m"

* Contient au moins quatre caractères et aucun chiffre;

egrep -i "^[^0-9]*[a-z][^0-9]*[a-z][^0-9]*[a-z][0-9]*[a-z][0-9]*$"

* Est constitué de deux lettres exactement;

ls | egrep "^..$"

* Commence et finit par un chiffre.

ls | egrep "^[0-9].*[0-9]$"

Question 6  •  Comment éliminer les lignes vides dans un fichier ? Comment éliminer les lignes ne contenant que des blancs ?

egrep -v "^$" zola4.txt > zola_nolignes.txt. Pour voir le fichier original, cliquez ici, et le fichier de sortie se trouve ici.

Exercices sur "Germinal"

Question 1  •  Combien de fois le mot «mine» apparaît dans chaque chapitre de la première partie de Germinal ?

egrep -c "\bmine\b" zola*

Question 2  •  Combien y a-t-il de lignes blanches dans zola1.txt ?

egrep -c "^$" zola1.txt