Vous êtes sur la page 1sur 2

Exercice 1

TP Exercice 2

Copiez le fichier /etc/passwd dans votre home Triez passwd sur le nom directory. Editez uniquement les champs contenant le login et la home directory. cd cp /etc/passwd ~ cut -d: -f1,6 passwd Exercice 4 sort -t: +0 -1 passwd Exercice 3 Extraire les nom de login et UID puis triez suivant les UID, le tout en une seule commande, vous redirigerez le tout vers un fichier

Dans le fichier de rsultat prcdent remplacer cut -d: -f1,3 passwd | sort -t: -n +1 -2 > les ":" par des " " (espace). fichier1 cat passwd | tr ":" " " > fichier1 Exercice 6 Editez les cinq premiers caractres du fichier. Exercice 5 Editez les cinq dernires lignes du fichier. Exercice 8 tail -5 fichier1 Head -5 fichier1

Exercice 7

Le fichier communes.txt contient la liste des 247 communes de la Tunisie avec leur code postal. Le format est nom de la commune (avec espace ventuel) <tab> code postal. 1. Combien de mots ? Combien de mots <tab> signifie une tabulation ( caractre N9 differents ? Combien de mots dupliqus ? ou \t ou \011 en octal. wc -w mots.txt Le fichier est tri par nom de commune. uniq mots.txt | wc -l uniq d mots.txt | wc -l 1. Combien y a t-il de communes ? 2. Liste des mots au pluriel (finissant par s Wc -l communes.txt ou x) et commenant par w. 2. Nombre de communes dont le nom grep '^w*[sx]$' mots.txt contient 'ben'. Grep 'ben' communes.txt | wc -l 3. Crer un fichier avez les mots qui 3. Nombre de communes dont le nom apparaissent plusieurs fois commence par 'ben'. Grep '^ben' communes.txt | wc -l uniq -u mots.txt > fichier2 4. Nom des communes dont le nom

Le fichier mots.txt contient environ 100000 mots, un par ligne, tri par ordre alphabtique. Les caractres accentus ont t remplacs par leurs "equivalents non accentus" pour faciliter le transfert depuis la version Windows. Ceci explique les "doublons" apparents comme "zebre" et "zebr"...

contient 'ben' mais pas au dbut? grep 'ben' communes.txt | grep -v '^ben' | wc -l 5. Liste des communes dont le code postal est 2040 grep '1234' communes.txt

4. Que fait cette requte ?


egrep '\<po[lu](.+)es\>' lesmots.txt

affiche les mots qui commence par po, suivi d'un l ou d'un u, puis de quelques caractres quelconques et finissant par s.

6. Combien de communes ont un nom qui n'apparait qu'une fois ? cut -f1 communes.txt |uniq -u | wc -l

5. Expliquez la diffrence entre ces trois requtes:


grep '\<poursui(.+)es\>' lesmots.txt

7. Combien de communes ont un nom qui apparait plusieurs fois, et combien de fois ? cut -f1 communes.txt |uniq -d | wc -l

Commence par poursui, finit par s


grep '\<poursui(.+)e\>' lesmots.txt

Commence par poursui, finit par e


grep '\<poursui(.+)es*\>'lesmots.txt

8. N'affichez que celles qui apparaissent plus de 9 fois cut -f1 communes.txt |uniq -c | sort -nr | egrep '[:space:]*[09]{2}[:space:]*(.*)[^$]'

Commence par poursui, finit par e suivi s'un s 6. Pour crer un dictionnaire de Scrabble, crer un fichier nomm mots-2-7.txt ne contenant que les mots ayant de 2 7 lettres. grep '\<[a-z]{2,7}\>' mots.txt >mots2-7.txt

9. Dupliquez le fichier communes.txt vers communes2.txt en remplacant le sparateur tabulation (code \011) par un : cat communes.txt | tr '\011' ':' >communes2.txt 10. Dupliquez le fichier communes2.txt vers communes3.txt en le triant par code postal. cat communes2.txt | sort -t: >communes3.txt

11. Bien entendu un ls com* -l doit donner exactement la mme taille pour ces trois fichiers !