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
Publicité
Posté le 04-07-2003 à 18:35:13
Mjules
Modérateur Parle dans le vide
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 ?
--> 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.
Message édité par horus le 04-07-2003 à 18:55:08
Cruchot
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
Message édité par Cruchot le 04-07-2003 à 18:58:56
Cruchot
Posté le 04-07-2003 à 18:59:15
Code :
for var in `find . -name "*"` ; do grep hordemgr $var; if [ $? -ne 1 ]; then echo $var >> /tmp/out ; fi; done
Ca c'est bon je pense, j'ai pas le tps de trop tester la
Mjules
Modérateur Parle dans le vide
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