Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
604 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  commande find et grep

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

commande find et grep

n°288728
horus
Posté le 04-07-2003 à 18:35:13  profilanswer
 

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

mood
Publicité
Posté le 04-07-2003 à 18:35:13  profilanswer
 

n°288731
Mjules
Modérateur
Parle dans le vide
Posté le 04-07-2003 à 18:46:02  profilanswer
 

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 ?


Message édité par Mjules le 04-07-2003 à 18:51:07

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°288734
horus
Posté le 04-07-2003 à 18:52:09  profilanswer
 

--> 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
n°288735
Cruchot
Posté le 04-07-2003 à 18:54:09  profilanswer
 

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
n°288738
Cruchot
Posté le 04-07-2003 à 18:59:15  profilanswer
 

Code :
  1. 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 :/

n°288739
Mjules
Modérateur
Parle dans le vide
Posté le 04-07-2003 à 18:59:39  profilanswer
 

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


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°288741
xouille38
Posté le 04-07-2003 à 19:04:36  profilanswer
 

moi je dis : find /  -exec grep "ton_truc" {} \;
ou :
find / | xargs grep "ton_truc"  (mieux nivo perfs : pas plein de threads)

n°288875
becket
Posté le 04-07-2003 à 23:24:11  profilanswer
 

[:juju_zero]  
 
grep -l est ton ami :D
 
 
 find / -name "*"  -exec grep -li  hordemgr  {} \;

n°288894
Tomate
Posté le 04-07-2003 à 23:36:09  profilanswer
 

grep -rn hordemgr * 2> /dev/null ;)


---------------
:: Light is Right ::
n°288947
Cruchot
Posté le 05-07-2003 à 07:30:54  profilanswer
 

C'est quoi ces solutions faciles avec grep ?  :whistle:  
 

mood
Publicité
Posté le 05-07-2003 à 07:30:54  profilanswer
 

n°288970
CSCMEUH
Posté le 05-07-2003 à 11:25:23  profilanswer
 

Cruchot a écrit :

C'est quoi ces solutions faciles avec grep ?  :whistle:  
 
 


 
Vous vous prenez la tete pour rien la ...

Code :
  1. grep -r "mot_que_je_cherche" /


n°288988
Tomate
Posté le 05-07-2003 à 12:19:39  profilanswer
 

CSCMEUH a écrit :


 
Vous vous prenez la tete pour rien la ...

Code :
  1. grep -r "mot_que_je_cherche" /


 


c est ce ke je viens d ecrire plus haut :o
 :whistle:


---------------
:: Light is Right ::
n°289022
CSCMEUH
Posté le 05-07-2003 à 13:52:10  profilanswer
 

tomate77 a écrit :


c est ce ke je viens d ecrire plus haut :o
 :whistle:  


Ouais pardon ;) la tete dans le cul le matin  :pt1cable:

n°289032
Tomate
Posté le 05-07-2003 à 13:59:26  profilanswer
 

CSCMEUH a écrit :


Ouais pardon ;) la tete dans le cul le matin  :pt1cable:  

:D


---------------
:: Light is Right ::
n°289733
horus
Posté le 07-07-2003 à 10:50:13  profilanswer
 

merci :)

n°289741
arsunik
ma tuxitude me beastifie
Posté le 07-07-2003 à 11:18:27  profilanswer
 

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.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  commande find et grep

 

Sujets relatifs
Quelle est la commande qui permet d'écrire un texte en étoiles?grep sur un fichier ?
Les droits sur commande, comment faire ?[Shell] grep - afficher que la première occurence trouvée?
[bash] faire un rm de " ls | grep -E "^[1-9]{1,2} "bash: longue commande -> retour à la ligne qui se fait pas
Editeur VI -> commande pour trier les lignes ?Mettre le résultat d'une commande dans une variable...
[challenge debile] Un cat pour deux grep....probleme avec la commande tr.
Plus de sujets relatifs à : commande find et grep


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR