|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : janvier 2007 Messages : 265 ![]() |
Bonjour je voudrai rechercher une chaine de carracteres sur un ensemble de fichiers, alors que je suis situe au dessus du repertoire, ou la rascine de l'arborescence, au dessus du home par exemple en linux. En d'autres termes, je demande s'il est possible de faire comme en Windows, trouver des noms de fichier en recherchant par chaine de carracteres dans une arbosrescence de dossier, et sur plusieurs fichiers.
Si quelqu'un peut me donner la syntaxe svp, et egalement un exemple explicite, parce que j'ai deja un livre -editions Eni- qui traite d'une maniere generale du langage shell, mais qui ne me montre pas de facon detaille comment on peut faire ce genre de recherche. Ou il n'y a pas d'index fait de facon suffisament explicite pour que je trouve tres rapidement. En vous remerciant a l'avance. Cordialement |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 546 ![]() |
tu peux faire
Code :
find /chemin/a/partir/duquel/tucherches/ -type f -exec grep "chaine" {} \; cherche depuis_chemin tout_fichier y_effectuer_une_recherche de_"chaine" grep fait la recherche elle meme find et ses options ne definissent que ou checrher et a faire un tri pour ne tester que les fichier et pas les repertoires (type f) |
|
|
00
|
|
|
#3 | ||
|
Membre actif
![]() Étudiant Inscription : novembre 2006 Messages : 287 ![]() |
tu peux aussi faire
Code :
cd => tu te positionnes dans le répertoire d'ou tu veux partir (cd /home par exemple) ls => liste les fichiers du répertoire courant -l => affichage de renseignements sur le fichier -a => affiche tous les fichiers (meme cachés) -R => va récursivement (liste le contenu de chaque dossier, sous-dossier, etc) | => pipe = le membre à droite du pipe récupère le résultat du membre à gauche du pipe grep -i => affiche sur la sortie standard les lignes qui contiennent "chaine" -i => insensible à la casse Voili voilou |
||
|
|
00
|
|
|
#4 | |
|
Membre expérimenté
![]() Inscription : mars 2007 Messages : 469 ![]() |
Citation:
find . -type f | xargs grep {chaine_recherchée} Recherche récursive avec grep : grep -r {chaine_recherchée} * http://linux.developpez.com/faq/?page=Shells http://man.developpez.com/man1/grep.1.php
__________________
Loi de Murphy: La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi. La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi. |
|
|
|
00
|
|
|
#5 | |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 546 ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 |
|
Membre actif
![]() Étudiant Inscription : novembre 2006 Messages : 287 ![]() |
il n'a pas dit qu'il ne voulait que les fichiers, si ?
si c'est le cas, je suis désolé ma solution (qui me paraissait plus rapide |
|
|
00
|
|
|
#7 | |
|
Membre du Club
![]() Inscription : janvier 2007 Messages : 265 ![]() |
Citation:
Je vous remercie a tous -ou toute(s) s'il y a des dames ou demoiselle(s)- Cordialement |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com