commande find et grep - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 04-07-2003 à 18:46:02
fichier + dossier ?
pourquoi tu n'utilise pas locate ? (+ rapide une fois la base à jour)
sinon find / |grep hordemgr (ou grep -i pour ne pas prendre en compte la casse), ça marche pas ?
fichier ?
find / -iname hordemgr
non ?
Marsh Posté le 04-07-2003 à 18:52:09
--> find / |grep hordemgr
heu non ça me renvoit les fichiers qui contiennent hordemgr dans leurs noms. Moi je veux les fichiers qui contiennent le mot hordemgr dans le fichier lui-meme.
Marsh Posté le 04-07-2003 à 18:54:09
Avec un boucle pour et un test, un truc du style
for var in `find . -name "*"` ; do grep hordemgr $var; if [ $? -eq 0 ]; then echo $var; fi; done
Mais ca marche pas terrible
Marsh Posté le 04-07-2003 à 18:59:15
Code :
|
Ca c'est bon je pense, j'ai pas le tps de trop tester la
Marsh Posté le 04-07-2003 à 18:59:39
en fait, tu veut ouvrir les fichiers et regarder dedans si il y a le mot hordemgr ?
pour un seul dossier :
grep hordemgr *
pour plusieurs dossiers, un truc comme ça :
for i in `find ./`; do grep hordmgr $i ; done
Marsh Posté le 04-07-2003 à 19:04:36
moi je dis : find / -exec grep "ton_truc" {} \;
ou :
find / | xargs grep "ton_truc" (mieux nivo perfs : pas plein de threads)
Marsh Posté le 04-07-2003 à 23:24:11
grep -l est ton ami
find / -name "*" -exec grep -li hordemgr {} \;
Marsh Posté le 04-07-2003 à 23:36:09
grep -rn hordemgr * 2> /dev/null
Marsh Posté le 05-07-2003 à 11:25:23
Cruchot a écrit : C'est quoi ces solutions faciles avec grep ? |
Vous vous prenez la tete pour rien la ...
Code :
|
Marsh Posté le 05-07-2003 à 12:19:39
CSCMEUH a écrit :
|
c est ce ke je viens d ecrire plus haut
Marsh Posté le 05-07-2003 à 13:52:10
tomate77 a écrit : |
Ouais pardon la tete dans le cul le matin
Marsh Posté le 05-07-2003 à 13:59:26
ReplyMarsh Posté le 07-07-2003 à 11:18:27
Pour info (ça peut toujours servir, je ne suis pas sur que "grep -r" ne prenne que les fichiers réguliers...), la syntaxe correcte avec find est :
find -f -0 | xargs -0 grep toto
Voir les man de find/xargs/grep pour plus de détail.
Marsh Posté le 04-07-2003 à 18:35:13
bonjour,
je cherche la commande qui permet de renvoyer la liste des fichiers qui contiennent un mot donné.
j'essaye avec find et grep mais ça marche pas.
Je cherche le mot hordemgr dans tous les fichiers du disque
find / -name \*.* |grep hordemgr
merci