Ceci est un simple pense-bête, pour moi, qui suis bête et qui perds du temps à appeler mon ami google[1] à la rescousse les rares fois où j’ai besoin de cet enchainement de commandes (pourtant simple comme bonjour) :
find /mon/repertoire/ -type f | xargs grep "chaine de caractère"
EDIT une heure plus tard
Oui, donc ça, c’est beaucoup mieux (et du coup, je vais m’en souvenir, plus besoin de pense-bête !) :
grep -r "chaine de caractère" /mon/repertoire/
Notes
[1] l’ami apperisphere répondra bien plus vite









4 commentaires pour : « Pense-bête : rechercher dans un répertoire »
heu… pourquoi pas simplement:
grep -r "chaine de caractère" /mon/repertoire/
Répondre
Parce que j’étais persuadé que grep ne fonctionnait qu’avec une liste de fichiers à donner en paramètre. D’ailleurs -r n’est pas dans le man.
Eh bien, hum, merci, c’est effectivement plus simple…
Répondre
En passant par hasard …
En fait si tu veux passer chaque ligne de résultat à autre chose avec find, utilise -exec. par exemple,
find ./-exec grep « <?php » {} \;
pour chaque fichier trouvé par find dans le dosier ./, il va appliquer la commande grep « <?php » ( {} signifie le nom du fichier)
donc pratique pour effacer les fichiers .svn qui traine …
find siteweb/ –name .svn -exec rm -rf {} \;
Répondre
Merci pour ta contribution à mon pense-bête, chef !
Répondre