0% ont trouvé ce document utile (0 vote)
771 vues4 pages

TP6 - Commandes Find, Grep, Sort

Ce document présente plusieurs exercices utilisant des commandes Linux comme find, grep, cut, sort, uniq et tr pour rechercher, filtrer et trier des fichiers et informations. Les exercices portent sur la recherche de fichiers selon des critères, le filtrage de lignes dans des fichiers, le tri et la mise en forme de données.

Transféré par

8D audio drugs
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
771 vues4 pages

TP6 - Commandes Find, Grep, Sort

Ce document présente plusieurs exercices utilisant des commandes Linux comme find, grep, cut, sort, uniq et tr pour rechercher, filtrer et trier des fichiers et informations. Les exercices portent sur la recherche de fichiers selon des critères, le filtrage de lignes dans des fichiers, le tri et la mise en forme de données.

Transféré par

8D audio drugs
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

TP : find, grep, cut, sort, uniq, tr

Exercice 1 :
1. Donner les commandes permettant de :
 Chercher tous les fichiers qui se terminent par .c à partir du répertoire src
 Chercher tous les fichiers qui commencent par f à partir du répertoire de base
 Chercher tous les fichiers qui commencent et se terminent par n’importe quelle
chaine de caractère avec un c comme 4eme lettre à partir du répertoire de base ?
 Chercher à partir du répertoire de base tous les fichiers qui sont des
répertoires ?
 Chercher à partir du répertoire de base tous les fichiers qui sont des fichiers
classiques ?
 Chercher à partir du répertoire de base tous les fichiers qui commence par f ou
F et qui sont des fichiers classiques ?
 Chercher à partir du répertoire base tous les fichiers qui commencent par
n’importe quel caractère suivi par un nombre compris entre 1 et 5 ?
 Chercher dans /usr les fichiers dont la taille dépasse 1Mo (2000 blocs de
500Ko) ?

Exercice 2 :
1. En utilisant la commande find :
 Recherchez toutes les apparitions de « emacs » à partir du répertoire / sans
faire de différence entre majuscule et minuscule.
 Affinez la recherche précédente pour n’obtenir que :
 Les apparitions de « emacs » qui sont des fichiers classiques.
 Les apparitions de « emacs » qui sont des fichiers classiques, avec toutes les
informations relatives à ces fichiers (que l’on obtient avec ls –l).
2. Toujours avec find recherchez :
 Tous les fichiers à partir de /bin qui sont des liens symboliques
 Tous les fichiers à partir de votre répertoire personnel dont la taille nécessite
l’utilisation de 6 blocs de 512 octets sur le disque.
 Tous les fichiers à partir de votre répertoire dont la tille est supérieure à 3 koctets.
3. Encore avec la commande find :
 Recherchez ci vous avez des fichiers ‘core’ dans votre arborescence. Si oui,
supprimez-les en utilisant l’option exec de find.
 Vous ne savez plus où se trouve un fichier dont le nom commence par ‘info’ par
exemple suivi d’un nombre compris entre 11 et 17. Quelle est la commande qui
va retrouvez ces fichiers dans l’arborescence de vos fichiers ? pour tester la
commande, vous créez au préalable deux fichiers info13 et info15 dans un
répertoire TP4.

Exercice 3:
On utilisera le fichier ~/tp/data » pour cet exercice :
aaabc2;
absdsdc.
aafdsfsdf;

cbccvf45;
ab333c5;
aa34c;
1. Affichez les lignes contenant le mot « ds »
2. Affichez les lignes contenant un chiffre.
3. Affichez les lignes contenant une lettre a et contenant plus loin une lettre c.
4. Affichez les lignes contenant une lettre c suivie d'un chiffre.
5. Affichez les lignes commençant par autre chose qu'un a.
6. Affichez les lignes se terminant par un point virgule.
7. Comment générer ces lignes à partir du fichier «data» et de l'application de grep ?
1:aaabc2;
2:absdsdc.
3:aafdsfsdf;
4:
5:cbccvf45;
6:ab333c5;
7:aa34c;
Exercice 4 : ls et grep
1. Listez les entrées du répertoire "/usr/bin" dont le nom commence par la lettre "m".
2. Listez les entrées du répertoire "/usr/bin" dont le nom commence par la lettre "m" et
comporte exactement 3 caractères.
3. Listez les entrées du répertoire "/usr/bin" dont le nom commence par la lettre "m" et
comporte au moins 3 caractères.
4. Listez les entrées du répertoire "/usr/bin" dont le nom commence par la lettre "m" et
comporte une extension (suffixe suivant un ".").
5. Listez les entrées du répertoire "/usr/bin" dont le nom commence par la lettre "m" ou
"j".
6. Listez les entrées du répertoire "/usr/bin" dont le nom comporte au moins une lettre
majuscule.
7. Rechercher tous les fichiers du répertoire /etc contenant la chaine de caractères "root".

Exercice 5 :
2. On dispose d'un fichier texte telephone.txt contenant un petit carnet d’adresses.
Durand:Emilie:0381818585
Terieur:Alex:0478858689
Tinrieur:Georges:0563868985
Dupond:Albert:04961868957
Dupont:Emilie:02971457895
Dupond:Albertine:0131986258
Bouvier:Jacques:0381698759
Zeblues:Agathe:0685987456
Dupond:Agnès:0687598614
Dumont:Patrick:04661645987
Dupond:Elisabeth:0654896325
Houtand:Laurent:0658769458
3. Chaque ligne est de la forme "nom :prenom :numerotelephone". Les champs sont
séparés par « : ».
4. Répondre aux questions suivantes en utilisant à chaque fois une ligne de commande
shell:
a. Afficher le carnet d’adresse trié par ordre alphabétique de noms.
b. Afficher le nombre de personnes dans le répertoire.
c. Afficher toutes les lignes concernant les “Dupond”.
d. Afficher toutes les lignes ne concernant pas les “Dupond”.
e. Afficher le numéro de téléphone (sans le nom) du premier “Dupond” apparaissant
dans le répertoire.
f. Afficher le numéro de téléphone (sans le nom) du premier “Dupond” dans l’ordre
alphabétique (ordre basé sur les prénoms).

Exercice 6 : sort, grep, …


1. Placez-vous dans votre répertoire personnel.
2. Créez un fichier nommé "liste.txt" contenant sur chaque ligne le prénom, le nom et
l’âge d’un élève (ces 3 éléments étant séparés par un espace) (au moins 6 élèves).
3. Triez les élèves selon leur nom (ordre alphabétique).
4. Triez les élèves selon leur âge.
5. Affichez la liste des élèves ayant X comme prénom (X = le prénom de votre choix).
6. Affichez la liste des élèves ayant un âge supérieur à 20.

Grep ‘\([2-9][0-9]\|[1-9][0-9][0-9]\)’ ~/liste.txt


7. Affichez les noms et prénoms des élèves dont le prénom contient le caractère "n".
8. Quel le nombre total de fichiers et répertoires contenus dans votre répertoire de base ?
9. Quel le nombre de fichier classique dans votre répertoire de base ?
10. Quel le nombre de répertoires dans votre répertoire de base ?
11. Quel le nombre de fichier spéciaux de type bloc dans le répertoire /bin ?
12. Quel le nombre de fichier spéciaux de type caractère dans le répertoire /bin ?
13. Quel le nombre de lien répertoire /etc ?

Exercice 7 : Les commandes sort, cut, uniq et tr


Tout en sachant que la structure du fichier passwd est la suivante :
login : mot de passe : UID : GID : Nom complet : répertoire personnel : shell 
1. Triez le fichier /etc/passwd dans l’ordre lexicographique ?
2. Triez le fichier /etc/passwd dans l’ordre lexicographique inverse, sans tenir compte
des majuscules/minuscules ?
3. Triez-le dans l’ordre croissant des numéros de groupes
4. Affinez le tri précédent en triant les utilisateurs dans l’ordre croissant des numéros
de groupe et pour chaque groupe :
o Dans l’ordre lexicographique des login ;
o Dans l’ordre croissant des uid.
5. Ouvrez deux nouveaux terminaux en mode texte ? connectez-vous sur le premier
avec le même login que l’interface graphique et sur le deuxième avec un autre
login ?
6. En utilisant le résultat de la commande who, récupérez le login des utilisateurs
connectés
7. Triez le résultat de la commande précédente dans l’ordre alphabétique.
8. En reprenant le résultat de la commande précédente, faites en sorte qu’un
utilisateur connecté plusieurs fois n’apparaisse qu’une seule fois.
9. Quel est le nombre d’utilisateur défini au niveau de votre machine ?
10. Quel est le nombre d’utilisateur connecté à votre machine ?

Vous aimerez peut-être aussi