Linux 2
Linux 2
Linux 2
données
grep : filtrer des données
rechercher dans un fichier texte le mot voulu et affiche la ligne où il se trouve
• Syntaxe : grep [option] modèle_de_critères [fichier1 …]
• Les options du grep les plus utiles sont :
– i : pour ne pas tenir compte des majuscules/minuscules,
– v : toutes les lignes ne contenant pas le critère,
– n : pour avoir les numéros de ligne,
– E : pour les expressions régulières plus compliquées,
– c : la commande ne retourne que le nombre de lignes
trouvées
– r : rechercher dans tous les fichiers et sous-dossier
– l : rechercher dans un ou plusieurs fichiers texte le mot
voulu et affiche le nom des fichiers qui contiennent le mot
grep : filtrer des données
• Le modèle de critères peut contenir les caractères
spéciaux suivants :
– […] : Plage de caractères permis à cet emplacement
– [^…] : Plage de caractères non permet à cet
emplacement
– .: Un caractère quelconque (y compris un
espace)
– * : Signe de répétition. Agit sur le caractère placé
devant le *
– $ : Matérialise une fin de ligne
– | : ou
– ^ : début de ligne
grep : filtrer des données
– liste des lignes commençant par ! Dans le fichier
fichier1 :
grep "^!" fichier1
– recherche de STOP avec le numéro de la ligne :
grep -n -i stop fichier1
– liste de tous les fichiers qui n'ont pas "image" ou "son"
dans leur nom :
ls | grep -vE "(image|son)"
– liste des lignes contenant "image" ou "son" dans tous
les fichiers du répertoire courant :
grep -E "(image|son)" *
– Liste des lignes contenant un nombre compris entre 0
et 4 :
grep -E [0 -4] fichier1
– Liste des lignes contenant "alias" ou "Alias" :
grep -E [Aa] lias fichier1
sort : trier les lignes
• sort nom_fichier : Tri par ordre alphabétique des lignes d'un
fichier texte.
• -o : écrire le résultat dans un fichier
• Par taille
les fichiers qui font plus de 10 Mo
16
Recherche de fichiers et de répertoires
• Option de commande
– Les options de commande seront traitées pour chaque fichier
trouvé. En dehors de l’option –print qui montre le chemin
d’accès au fichier, on peut mettre en place l’option -exec
– Les commandes dont il est fait état derrière –exec seront
exécutées sans aucune demande de confirmation
– L’option –ok demande à l’utilisateur si la commande doit
effectivement être exécutée.
17
Recherche de fichiers et de répertoires
• Traitement sans confirmation avec –exec
• La spécification d’une commande derrière –exec est
soumise à certaines règles:
– L’option –exec doit être la dernière de la commande
find
– La commande placée derrière –exec doit être
terminée par le paramètre ;. Comme c’est un
caractère spécial, il doit être masqué par un \
18
Recherche de fichiers et de répertoires
(suite)
– Pour accéder à un des fichiers trouvés, dans
le cadre de la commande placée derrière –
exec, utilisez le raccourci {}
• Exemple
– find . –user student –exec ls –l {}\; ( affiche le
format long de la commande ls)
– find . –type f –atime +13 –exec rm {} \;
(supprime les fichiers auxquels vous n’avez
plus accédé depuis plus de 2 semaines)
19
Recherche de fichiers et de répertoires
21
Recherche de fichiers et de répertoires
22
Critères de recherche de noms de
fichiers
• Modèles de noms de fichier
– * : remplace une chaîne vide ou de longueur variable
– ? : remplace un caractère unique quelconque
– [] : représente une série ou une plage de caractère
– [!…] : inverse la recherche
• Exemples
– a* : les fichiers dont le nom commence par a
– a?? : fichiers en trois lettres, commençant par a
– [aA]* : fichiers dont le nom commence par un a minuscule ou
majuscule.
– [a-m]* : fichiers dont le nom commence par une lettre de la plage a-m.
• Attention rm *