|
| | #1 |
|
Posts: n/a Hébergeur: | Bonjour, J'ai une question toute bête... Comment chercher une chaine dans tous les fichiers d'un répertoires qui n'ont pas d'extensions ? Exemple : $ ls fichier1.txt fichier2 fichier3 fichier4.ext $ grep machaine *. chercherais dans fichier2 et fichier3 seulement... Franssoa |
|
| | #2 |
|
Posts: n/a Hébergeur: | Franssoa a écrit : > Bonjour, > > J'ai une question toute bête... > Comment chercher une chaine dans tous les fichiers d'un répertoires qui > n'ont pas d'extensions ? > Exemple : > > $ ls > fichier1.txt > fichier2 > fichier3 > fichier4.ext > > $ grep machaine *. > chercherais dans fichier2 et fichier3 seulement... > > Franssoa grep machaine ./* -- Rico |
|
| | #3 |
|
Posts: n/a Hébergeur: | Franssoa a écrit : > Bonjour, > > J'ai une question toute bête... > Comment chercher une chaine dans tous les fichiers d'un répertoires qui > n'ont pas d'extensions ? > Exemple : > > $ ls > fichier1.txt > fichier2 > fichier3 > fichier4.ext > > $ grep machaine *. > chercherais dans fichier2 et fichier3 seulement... $ grep machaine * cherchera dans tous les fichiers Dans les noms de fichiers, le "." n'a pas de signification particulière, contrairement au DOS. -- Serge http://leserged.online.fr/ Mon blog: http://cahierdesergio.free.fr/ Soutenez le libre: http://www.framasoft.org |
|
| | #4 |
|
Posts: n/a Hébergeur: | Franssoa a écrit : > Bonjour, > > J'ai une question toute bête... > Comment chercher une chaine dans tous les fichiers d'un répertoires qui > n'ont pas d'extensions ? > Exemple : > > $ ls > fichier1.txt > fichier2 > fichier3 > fichier4.ext > > $ grep machaine *. > chercherais dans fichier2 et fichier3 seulement... > > Franssoa $ grep machaine !(*.*) fichier2:machaine fichier3:machaine $ grep . * fichier1.txt:machaine fichier2:machaine fichier3:machaine fichier4.txt:machaine |
|
| | #5 |
|
Posts: n/a Hébergeur: | Franssoa a écrit : > Bonjour, > > J'ai une question toute bête... > Comment chercher une chaine dans tous les fichiers d'un répertoires qui > n'ont pas d'extensions ? > Exemple : > > $ ls > fichier1.txt > fichier2 > fichier3 > fichier4.ext > > $ grep machaine *. > chercherais dans fichier2 et fichier3 seulement... > > Franssoa grep machaine `find . -maxdepth 1 -a ! -name '*.*'` (attention à bien respecter les quotes directes et inverses) Netsurfeur |
|
| | #6 |
|
Posts: n/a Hébergeur: | Franssoa wrote: > Bonjour, > > J'ai une question toute bête... > Comment chercher une chaine dans tous les fichiers d'un répertoires qui > n'ont pas d'extensions ? > Exemple : > > $ ls > fichier1.txt > fichier2 > fichier3 > fichier4.ext > > $ grep machaine *. > chercherais dans fichier2 et fichier3 seulement... > > Franssoa Bonsoir, Et si tu tapes $grep machaine *.* |
|
| | #7 |
|
Posts: n/a Hébergeur: | Plumachau a écrit : > Et si tu tapes > > $grep machaine *.* C'est le contraire de ce qu'a demandé le PO. C'est marrant d'ailleurs, la question était pourtant claire et précise et il y a eu beaucoup de réponses à côté (je précise que je ne connaissais pas la réponse), sauf celle de YBM bien sûr. -- François |
|
| | #8 |
|
Posts: n/a Hébergeur: | Francois wrote: > Plumachau a écrit : > >> Et si tu tapes >> >> $grep machaine *.* > > C'est le contraire de ce qu'a demandé le PO. C'est marrant > d'ailleurs, la question était pourtant claire et précise et > il y a eu beaucoup de réponses à côté (je précise que je ne > connaissais pas la réponse), sauf celle de YBM bien sûr. > > Si les réponses sont fauses, c'est que la question a mal été posée. |
|
| | #9 |
|
Posts: n/a Hébergeur: | Plumachau a écrit : > Si les réponses sont fauses, c'est que la question a mal été posée. C'est souvent vrai, mais là quand même... Je cite : « Comment chercher une chaine dans tous les fichiers d'un répertoires qui n'ont pas d'extensions ? » Mais je disais ça comme ça. Loin de moi l'idée de vouloir donner des leçons, comme je le disais précédemment je ne connaissais même pas la réponse, alors... :-) -- François Lafont |
|
| | #10 |
|
Posts: n/a Hébergeur: | Francois a écrit : > Plumachau a écrit : > >> Et si tu tapes >> $grep machaine *.* > > C'est le contraire de ce qu'a demandé le PO. C'est marrant d'ailleurs, > la question était pourtant claire et précise et il y a eu beaucoup de > réponses à côté (je précise que je ne connaissais pas la réponse), sauf > celle de YBM bien sûr. > > Je n'ai aucun mérite : contrairement aux autres qui ont répondu (sauf netsurfeur qui est correcte aussi mais un peu compliquée) : 1. je n'avais pas encore bu de Guinness, donc j'ai compris la question 2. je ne connaissais pas la réponse, j'ai tapé "man bash". |
|
| | #11 |
|
Posts: n/a Hébergeur: | YBM a écrit : > Je n'ai aucun mérite : contrairement aux autres qui ont répondu (sauf > netsurfeur qui est correcte aussi mais un peu compliquée) : > 1. je n'avais pas encore bu de Guinness, donc j'ai compris la question :-)) > 2. je ne connaissais pas la réponse, j'ai tapé "man bash". Alors ça, ça m'épate. Cette page de manuel est très grande. Où y as tu trouvé la réponse et surtout comment as tu fait pour chercher (et trouver) la réponse ? Tu as fait un grep ? -- François Lafont |
|
| | #12 |
|
Posts: n/a Hébergeur: | Francois a écrit : > YBM a écrit : > >> Je n'ai aucun mérite : contrairement aux autres qui ont répondu (sauf >> netsurfeur qui est correcte aussi mais un peu compliquée) : >> 1. je n'avais pas encore bu de Guinness, donc j'ai compris la question > > :-)) > >> 2. je ne connaissais pas la réponse, j'ai tapé "man bash". > > Alors ça, ça m'épate. Cette page de manuel est très grande. Où y as tu > trouvé la réponse et surtout comment as tu fait pour chercher (et > trouver) la réponse ? Tu as fait un grep ? /\* n n n n n .... n |
|
| | #13 |
|
Posts: n/a Hébergeur: | Francois a écrit : > YBM a écrit : > >> Je n'ai aucun mérite : contrairement aux autres qui ont répondu (sauf >> netsurfeur qui est correcte aussi mais un peu compliquée) : >> 1. je n'avais pas encore bu de Guinness, donc j'ai compris la question > > :-)) > >> 2. je ne connaissais pas la réponse, j'ai tapé "man bash". > > Alors ça, ça m'épate. Cette page de manuel est très grande. Où y as tu > trouvé la réponse vers la ligne 900 : !(pattern-list) Matches anything except one of the given patterns |
|
| | #14 |
|
Posts: n/a Hébergeur: | Francois wrote: > Plumachau a écrit : > >> Si les réponses sont fauses, c'est que la question a mal été posée. > > C'est souvent vrai, mais là quand même... Je cite : > > « Comment chercher une chaine dans tous les fichiers d'un > répertoires qui n'ont pas d'extensions ? » > > Mais je disais ça comme ça. Loin de moi l'idée de vouloir > donner des leçons, comme je le disais précédemment je ne > connaissais même pas la réponse, alors... :-) > > Je disais ça avec une pointe d'humour bien sûr ![]() En fait, j'avais mal lu la question. |
|
| | #15 |
|
Posts: n/a Hébergeur: | YBM a écrit : > $ grep machaine !(*.*) > fichier2:machaine > fichier3:machaine > > $ grep . * > fichier1.txt:machaine > fichier2:machaine > fichier3:machaine > fichier4.txt:machaine > Parfait ! Merci d'avoir eu le courage de lire la page man de bash. J'avoue honteusement que je n'y avais même pas pensé, et que mon anglais étant...hum...perfectible, je ne serais surement pas arrivé à la 900è ligne :-) Je crois que tu as bien mérité la Guinness que je t'envoie virtuellement (sois un peu patient, les verres sont long à remplir, la mousse est dense) santé ! Franssoa |
|
| | #16 |
|
Posts: n/a Hébergeur: | Franssoa a écrit : > Bonjour, > > J'ai une question toute bête... > Comment chercher une chaine dans tous les fichiers d'un répertoires qui > n'ont pas d'extensions ? > Exemple : > > $ ls > fichier1.txt > fichier2 > fichier3 > fichier4.ext > > $ grep machaine *. > chercherais dans fichier2 et fichier3 seulement... > je voulais te proposer un truc du style updatedb grep machiane locate fichier|grep -v . mais cela ne marche pas ne filtre pas locate fichier|grep -v . pourtant dans le man de grep -v, --invert-match Inverser la mise en concordance, pour sélectionner les lignes ne correspondant pas au motif. il doit faire trop chaud remy -- http://remyaumeunier.chez-alice.fr/ |
|
| | #17 |
|
Posts: n/a Hébergeur: | -------- Message original -------- > Bonjour, > > J'ai une question toute bête... > Comment chercher une chaine dans tous les fichiers d'un répertoires qui > n'ont pas d'extensions ? > Exemple : > > $ ls > fichier1.txt > fichier2 > fichier3 > fichier4.ext > > $ grep machaine *. > chercherais dans fichier2 et fichier3 seulement... > > Franssoa et comme ça : grep -rsniH ma_chaine * ? |
|
| | #18 |
|
Posts: n/a Hébergeur: | remy a écrit : > locate fichier|grep -v . > > pourtant dans le man de grep > > -v, --invert-match > Inverser la mise en concordance, pour sélectionner les lignes ne > correspondant pas au motif. > > il doit faire trop chaud Il faut juste savoir ce qu'est le "." dans ce qu'on appelle le "motif". A+ JF |
|
| | #19 |
|
Posts: n/a Hébergeur: | Cumbalero a écrit : > remy a écrit : > >> locate fichier|grep -v . >> >> pourtant dans le man de grep >> >> -v, --invert-match >> Inverser la mise en concordance, pour sélectionner les lignes ne >> correspondant pas au motif. >> >> il doit faire trop chaud > > > Il faut juste savoir ce qu'est le "." dans ce qu'on appelle le "motif". > disons que dans mon esprit, le grep traite les entrées et laisse passer, que les entrées qui ne contiennent pas le motif "." mais cela ne donne rien chez moi remy@remy-desktop:~$ locate * |grep -v . remy@remy-desktop:~$ j'ai pas vérifié, mais des fichiers sans extension, je pense bien en avoir une petite tripotée maintenant, on peut dire que le "." n'est pas un motif, mais bon limite limite je plaide plus pour un problème chaise clavier remy -- http://remyaumeunier.chez-alice.fr/ |
|
| | #20 |
|
Posts: n/a Hébergeur: | remy a écrit : > disons que dans mon esprit, le grep traite les entrées et laisse > passer, que les entrées qui ne contiennent pas le motif "." Les motifs sont des expressions régulières. A+ JF |
|
| | #21 |
|
Posts: n/a Hébergeur: | Cumbalero a écrit : > remy a écrit : > >> disons que dans mon esprit, le grep traite les entrées et laisse >> passer, que les entrées qui ne contiennent pas le motif "." > > Les motifs sont des expressions régulières. il faire vraiment trop chaud remy@remy-desktop:~$ locate essai |grep -v [.] /home/remy/essai remy@remy-desktop:~$ donc fichier essai avec test remy@remy-desktop:~$ grep test locate essai|grep -v [.] grep: locate: Aucun fichier ou répertoire de ce type essai:test remy@remy-desktop:~$ na remy -- http://remyaumeunier.chez-alice.fr/ |
|
| | #22 |
|
Posts: n/a Hébergeur: | Cumbalero a écrit : > remy a écrit : > >> disons que dans mon esprit, le grep traite les entrées et laisse >> passer, que les entrées qui ne contiennent pas le motif "." > > Les motifs sont des expressions régulières. > > A+ > JF il fait vraiment trop chaud remy@remy-desktop:~$ locate essai |grep -v [.] /home/remy/essai remy@remy-desktop:~$ donc fichier essai avec test remy@remy-desktop:~$ grep test locate essai|grep -v [.] grep: locate: Aucun fichier ou répertoire de ce type essai:test remy@remy-desktop:~$ na remy -- -- http://remyaumeunier.chez-alice.fr/ |
|
| | #23 |
|
Posts: n/a Hébergeur: | remy a écrit : > il fait vraiment trop chaud > remy@remy-desktop:~$ grep test locate essai|grep -v [.] Je confirme. A+ JF |
|
![]() |
| Thread Tools | |
| |