Bonjour,
Je me mets aux expressions régulières et j'ai quelque difficulté avec
les options de grep.
Pourquoi ai-je cette réponse (entrée standard):
[normal@localhost Temp]$ cat *.DOC | grep -l grep
(entrée standard)
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif «
grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle
pas les noms des fichiers où elle le trouve ?
Merci et bonne journée,
Dominique
PS : ces fichiers.DOC sont de faux documents MSoffice. Il s'agit de
simples fichiers texte lisibles avec vim.
Bonjour, Je me mets aux expressions régulières et j'ai quelque difficulté avec les options de grep. Pourquoi ai-je cette réponse (entrée standard): [ Temp]$ cat *.DOC | grep -l grep (entrée standard)
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif « grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle pas les noms des fichiers où elle le trouve ?
par ce qu'il fallait taper: $ grep -l grep *.DOC
sinon grep ignore de quel fichier DOC provient ce qu'il lit. Il voit un flux contenant le mot grep sur l'entree standard, donc il affiche poliment (option -l) "entree standard"
Merci et bonne journée, de rien
Dominique
Michel.
dominique wrote:
Bonjour,
Je me mets aux expressions régulières et j'ai quelque difficulté avec
les options de grep.
Pourquoi ai-je cette réponse (entrée standard):
[normal@localhost Temp]$ cat *.DOC | grep -l grep
(entrée standard)
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif «
grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle
pas les noms des fichiers où elle le trouve ?
par ce qu'il fallait taper:
$ grep -l grep *.DOC
sinon grep ignore de quel fichier DOC provient ce qu'il lit. Il voit un flux
contenant le mot grep sur l'entree standard, donc il affiche poliment
(option -l) "entree standard"
Bonjour, Je me mets aux expressions régulières et j'ai quelque difficulté avec les options de grep. Pourquoi ai-je cette réponse (entrée standard): [ Temp]$ cat *.DOC | grep -l grep (entrée standard)
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif « grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle pas les noms des fichiers où elle le trouve ?
par ce qu'il fallait taper: $ grep -l grep *.DOC
sinon grep ignore de quel fichier DOC provient ce qu'il lit. Il voit un flux contenant le mot grep sur l'entree standard, donc il affiche poliment (option -l) "entree standard"
Merci et bonne journée, de rien
Dominique
Michel.
Vincent Bernat
OoO En ce doux début de matinée du lundi 05 juin 2006, vers 08:01, dominique disait:
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif « grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle pas les noms des fichiers où elle le trouve ?
La commande grep telle que tu l'emploies ne connais pas le nom des fichiers. C'est la commande cat qui connaît le nom des trois fichiers et envoie leurs contenus sur l'entrée standard de grep. Si tu veux que grep connaisse le nom des fichiers, tu dois faire : grep -l grep *.DOC -- /* Binary compatibility is good American knowhow fuckin' up. */ 2.2.16 /usr/src/linux/arch/sparc/kernel/sunos_ioctl.c
OoO En ce doux début de matinée du lundi 05 juin 2006, vers 08:01,
dominique <zzz@aol.com> disait:
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif «
grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle
pas les noms des fichiers où elle le trouve ?
La commande grep telle que tu l'emploies ne connais pas le nom des
fichiers. C'est la commande cat qui connaît le nom des trois fichiers
et envoie leurs contenus sur l'entrée standard de grep. Si tu veux que
grep connaisse le nom des fichiers, tu dois faire :
grep -l grep *.DOC
--
/* Binary compatibility is good American knowhow fuckin' up. */
2.2.16 /usr/src/linux/arch/sparc/kernel/sunos_ioctl.c
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif « grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle pas les noms des fichiers où elle le trouve ?
La commande grep telle que tu l'emploies ne connais pas le nom des fichiers. C'est la commande cat qui connaît le nom des trois fichiers et envoie leurs contenus sur l'entrée standard de grep. Si tu veux que grep connaisse le nom des fichiers, tu dois faire : grep -l grep *.DOC -- /* Binary compatibility is good American knowhow fuckin' up. */ 2.2.16 /usr/src/linux/arch/sparc/kernel/sunos_ioctl.c
dominique
La commande grep telle que tu l'emploies ne connais pas le nom des fichiers. C'est la commande cat qui connaît le nom des trois fichiers et envoie leurs contenus sur l'entrée standard de grep. Si tu veux que grep connaisse le nom des fichiers, tu dois faire : grep -l grep *.DOC
Compris ! Cat n'indique pas le nom du fichier ! Je n'avais pas saisi cette nuance ! Merci à vous, Dominique
La commande grep telle que tu l'emploies ne connais pas le nom des
fichiers. C'est la commande cat qui connaît le nom des trois fichiers
et envoie leurs contenus sur l'entrée standard de grep. Si tu veux que
grep connaisse le nom des fichiers, tu dois faire :
grep -l grep *.DOC
Compris !
Cat n'indique pas le nom du fichier ! Je n'avais pas saisi cette nuance !
Merci à vous,
Dominique
La commande grep telle que tu l'emploies ne connais pas le nom des fichiers. C'est la commande cat qui connaît le nom des trois fichiers et envoie leurs contenus sur l'entrée standard de grep. Si tu veux que grep connaisse le nom des fichiers, tu dois faire : grep -l grep *.DOC
Compris ! Cat n'indique pas le nom du fichier ! Je n'avais pas saisi cette nuance ! Merci à vous, Dominique
Matthieu Moy
dominique writes:
Bonjour, Je me mets aux expressions régulières et j'ai quelque difficulté avec les options de grep. Pourquoi ai-je cette réponse (entrée standard): [ Temp]$ cat *.DOC | grep -l grep (entrée standard)
UUOC !
(Useless Use Of Cat)
(et dans ce cas, pas seulement useless, mais aussi nuisible !)
-- Matthieu
dominique <zzz@aol.com> writes:
Bonjour,
Je me mets aux expressions régulières et j'ai quelque difficulté avec
les options de grep.
Pourquoi ai-je cette réponse (entrée standard):
[normal@localhost Temp]$ cat *.DOC | grep -l grep
(entrée standard)
UUOC !
(Useless Use Of Cat)
(et dans ce cas, pas seulement useless, mais aussi nuisible !)
Bonjour, Je me mets aux expressions régulières et j'ai quelque difficulté avec les options de grep. Pourquoi ai-je cette réponse (entrée standard): [ Temp]$ cat *.DOC | grep -l grep (entrée standard)
UUOC !
(Useless Use Of Cat)
(et dans ce cas, pas seulement useless, mais aussi nuisible !)
-- Matthieu
dominique
UUOC !
(Useless Use Of Cat)
(et dans ce cas, pas seulement useless, mais aussi nuisible !)
Je ne comprends pas. Dominique
UUOC !
(Useless Use Of Cat)
(et dans ce cas, pas seulement useless, mais aussi nuisible !)
(et dans ce cas, pas seulement useless, mais aussi nuisible !)
Je ne comprends pas. Dominique
Matthieu Moy
dominique writes:
UUOC ! (Useless Use Of Cat) (et dans ce cas, pas seulement useless, mais aussi nuisible !)
Je ne comprends pas. Dominique
Quand tu écris quelque chose comme
$ cat fichier | commande
la commande "cat" est inutile. Dans tous les cas, tu peux écrire
$ commande < fichier
(tu ne lances qu'un processus, et non deux) et la plupart du temps, la commande accepte aussi un nom de fichier en argument pour lire dans ce fichier a la place de l'entrée standard.
Dans ton cas, le coup de la redirection n'aurait effectivement pas marché vu que tu as trois fichiers, mais le passage en argument est la bonne solution.
fais une recherche sur le Web sur « UUOC » si tu veux, tu verras que c'est en fait un grand classique.
(la semaine prochaine, nous verrons le « UUOL », ou Useless Use Of Ls ;-) )
-- Matthieu
dominique <zzz@aol.com> writes:
UUOC !
(Useless Use Of Cat)
(et dans ce cas, pas seulement useless, mais aussi nuisible !)
Je ne comprends pas.
Dominique
Quand tu écris quelque chose comme
$ cat fichier | commande
la commande "cat" est inutile. Dans tous les cas, tu peux écrire
$ commande < fichier
(tu ne lances qu'un processus, et non deux) et la plupart du temps, la
commande accepte aussi un nom de fichier en argument pour lire dans ce
fichier a la place de l'entrée standard.
Dans ton cas, le coup de la redirection n'aurait effectivement pas
marché vu que tu as trois fichiers, mais le passage en argument est la
bonne solution.
fais une recherche sur le Web sur « UUOC » si tu veux, tu verras que
c'est en fait un grand classique.
(la semaine prochaine, nous verrons le « UUOL », ou Useless Use Of
Ls ;-) )
UUOC ! (Useless Use Of Cat) (et dans ce cas, pas seulement useless, mais aussi nuisible !)
Je ne comprends pas. Dominique
Quand tu écris quelque chose comme
$ cat fichier | commande
la commande "cat" est inutile. Dans tous les cas, tu peux écrire
$ commande < fichier
(tu ne lances qu'un processus, et non deux) et la plupart du temps, la commande accepte aussi un nom de fichier en argument pour lire dans ce fichier a la place de l'entrée standard.
Dans ton cas, le coup de la redirection n'aurait effectivement pas marché vu que tu as trois fichiers, mais le passage en argument est la bonne solution.
fais une recherche sur le Web sur « UUOC » si tu veux, tu verras que c'est en fait un grand classique.
(la semaine prochaine, nous verrons le « UUOL », ou Useless Use Of Ls ;-) )
-- Matthieu
Sébastien Monbrun aka TiChou
Dans le message <news:, *Matthieu Moy* tapota sur f.c.o.l.configuration :
Ah je ne suis pas totalement d'accord ! :-) Tout dépend du résultat souhaité et il y a des cas où la commande 'cat' peut alors être utilisée à bon escient. En effet, le résultat de la commande grep peut différer selon si elle traite les fichiers un par un ou selon si elle traite en une seule fois les données concaténées et passées sur l'entrée standard.
-- Sébastien Monbrun aka TiChou
Dans le message <news:vpqac8rzp9s.fsf@ecrins.imag.fr>,
*Matthieu Moy* tapota sur f.c.o.l.configuration :
Ah je ne suis pas totalement d'accord ! :-) Tout dépend du résultat souhaité
et il y a des cas où la commande 'cat' peut alors être utilisée à bon
escient.
En effet, le résultat de la commande grep peut différer selon si elle traite
les fichiers un par un ou selon si elle traite en une seule fois les données
concaténées et passées sur l'entrée standard.
Ah je ne suis pas totalement d'accord ! :-) Tout dépend du résultat souhaité et il y a des cas où la commande 'cat' peut alors être utilisée à bon escient. En effet, le résultat de la commande grep peut différer selon si elle traite les fichiers un par un ou selon si elle traite en une seule fois les données concaténées et passées sur l'entrée standard.
-- Sébastien Monbrun aka TiChou
Nicolas George
dominique wrote in message <4483c8bf$0$20149$:
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif « grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle pas les noms des fichiers où elle le trouve ?
Comment grep pourrait-il connaître les noms des fichiers ?
dominique wrote in message <4483c8bf$0$20149$ba4acef3@news.orange.fr>:
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif «
grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle
pas les noms des fichiers où elle le trouve ?
Comment grep pourrait-il connaître les noms des fichiers ?
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif « grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle pas les noms des fichiers où elle le trouve ?
Comment grep pourrait-il connaître les noms des fichiers ?
dominique
dominique wrote in message <4483c8bf$0$20149$:
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif « grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle pas les noms des fichiers où elle le trouve ?
Comment grep pourrait-il connaître les noms des fichiers ?
J'ai compris que, avec cat en première commande, grep ne connaissait pas l'origine des informations reçues. En revanche, effectivement, avec : grep -l mon_motif *.doc
Exemple : [ ~]$ grep -l alias .* .bash_profile .bashrc
Question subsidiaire, comment obtenir, en réponse, le chemin complet des fichiers trouvés ? Merci et bonne journée, Dominique
dominique wrote in message <4483c8bf$0$20149$ba4acef3@news.orange.fr>:
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif «
grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle
pas les noms des fichiers où elle le trouve ?
Comment grep pourrait-il connaître les noms des fichiers ?
J'ai compris que, avec cat en première commande, grep ne connaissait pas
l'origine des informations reçues.
En revanche, effectivement, avec :
grep -l mon_motif *.doc
Exemple :
[normal@localhost ~]$ grep -l alias .*
.bash_profile
.bashrc
Question subsidiaire, comment obtenir, en réponse, le chemin complet des
fichiers trouvés ?
Merci et bonne journée,
Dominique
Je sais que dans 3 fichier .DOC (grep pour Windows), j'ai le motif « grep ». Pourquoi, avec l'option -l, ma recherche ne me renvoie-t-elle pas les noms des fichiers où elle le trouve ?
Comment grep pourrait-il connaître les noms des fichiers ?
J'ai compris que, avec cat en première commande, grep ne connaissait pas l'origine des informations reçues. En revanche, effectivement, avec : grep -l mon_motif *.doc
Exemple : [ ~]$ grep -l alias .* .bash_profile .bashrc
Question subsidiaire, comment obtenir, en réponse, le chemin complet des fichiers trouvés ? Merci et bonne journée, Dominique
Matthieu Moy
dominique writes:
Question subsidiaire, comment obtenir, en réponse, le chemin complet des fichiers trouvés ?
En donnant les chemins complets sur la ligne de commande.