Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

grep *.

22 réponses
Avatar
Franssoa
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

10 réponses

1 2 3
Avatar
YBM
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
Avatar
YBM
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
Avatar
Plumachau
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.
Avatar
Franssoa
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
Avatar
remy
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/
Avatar
Pascal
-------- 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 *

?
Avatar
Cumbalero
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
Avatar
remy
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

:~$ locate * |grep -v .
:~$

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/
Avatar
Cumbalero
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
Avatar
remy
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

:~$ locate essai |grep -v [.]
/home/remy/essai
:~$

donc fichier essai avec test

:~$ grep test locate essai|grep -v [.]
grep: locate: Aucun fichier ou répertoire de ce type
essai:test
:~$

na remy



--
http://remyaumeunier.chez-alice.fr/
1 2 3