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

 


Dernière réponse
Sujet : besoin d'aide avec les commandes find et grep combinées
djoh ah merde, j'avais compris qu'il cherchait le NOM des fichiers contenant toto et data et non pas le nom des FICHIERS contenant toto et data
 
autant pour moi  :jap:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
djoh ah merde, j'avais compris qu'il cherchait le NOM des fichiers contenant toto et data et non pas le nom des FICHIERS contenant toto et data
 
autant pour moi  :jap:
Jak Oui, car il ne cherche pas des fichiers qui s'appellent toto_dada.c, mais des fichiers qui contiennent la chaîne "toto" et la chaîne "dada".
 
Mais comme c'est dit plus haut, il suffit de sortir la liste des fichiers contenant l'un des termes, puis de faire une recherche dans ces fichiers sur l'autre terme. Simple, quoi.
 
Sinon, comme ça a l'air d'être des sources, il y a Source-Navigator (à télécharger siu le site de RedHat) qui est pas mal pour naviguer dans des sources (permet de trouver où sont déclarées les macros, etc).
Robinmasters et ca ?
 
ls -lR > toto; cat toto * | grep dada
Robinmasters et ca c'est une connerie?
 
ls -lR | cat | grep dada
 
ouais non j'memporte un peu le cat c'est pas top
teagle

djoh a écrit a écrit :

par contre, je sais pas comment lui dire de ne faire ça que sur le nom du fichier, et nom pas sur le chemin absolu ... faudrait p-t utiliser 'cut'



Commande basename non? Et à mon avis il veut connaître les fichiers où dedans (style quand tu fais un vi) ya toto & tata (pas uniquement dans le nom du fichier).

djoh

falip a écrit a écrit :

Je comprends bien ki faut refaire un grep avec dada mais j'y arrive pas
 
find . -name *.[ch] -exec grep -l toto {}| grep -l dada {} \;
 
ça par ex ça marche pas, tt ce q g essayé ca marche pas. (mettre +sieurs exec non plus)  




 
 
tu te complique inutilement je pense
ce que t'as fait c'est équivalent à :
find . -name \*.[ch] | grep toto
 
par contre, je sais pas comment lui dire de ne faire ça que sur le nom du fichier, et nom pas sur le chemin absolu ... faudrait p-t utiliser 'cut'

falip Je comprends bien ki faut refaire un grep avec dada mais j'y arrive pas
 
find . -name *.[ch] -exec grep -l toto {}| grep -l dada {} \;
 
ça par ex ça marche pas, tt ce q g essayé ca marche pas. (mettre +sieurs exec non plus)
TBone regrepe avec dada
falip merde le [g] à loa fin ca n'y est pas, c la mise en gras qui a fait ca, la commande c:
 
 
find . -name *.[ch] -exec grep -l toto {} \;
 
 
 :pt1cable:
falip Je me suis peut etre mal exprimé, mais ce que je veux c connaitre le nom des fichiers (.h et .c en l'occurence) qui CONTIENNENT toto et dada par ex.
 
pr le moment j'arrive à chopper ceux qui contiennet un seul truc:
 
 
find . -name *.[ch] -exec grep -l toto {} \; [g]
slaanesh un truc à la limte un poal mieux :
find . -name '*dada*' | grep toto
 
ou si tu connais l'ordre des mots 'dada' et 'toto', tu combines les deux en mettant par exemple:
find . -name '*toto*dada*'
falip ok je vais essayer
falip svp j'en chie
TBone tu peux greper 'dada' et greper ensuite 'toto' sur les résultats du premier grep:
 
ls -lR | grep dada | grep toto
 
(ls -lR n'est p-ê pas ce qu'il y a de plus indiqué mais c'est un ex.)
 
edit: qui contiennent... oops, l'ex. te donne les fichiers qui se nomment avec dada et toto
falip je voudrais chopper ts les fichiers  qui contiennent les mots "dada" et (et non pas ou) "toto" par exemple et qui se trouvent ds le rép courant et ses ss répertoires.
 
Merci, j'arrive juste ds le monde unix et j'en ch... un peu.
 
Pr le moment j'ai choppé les fichiers qui contiennent l'un ou l'autre mais pas les deux.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)