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.
En donnant les chemins complets sur la ligne de commande.
grep foo ~/.*
Vu ! Merci. Avec grep -c alias ~/.* | grep -v :0 j'obtiens le nombre de fois où le motif 'alias' est trouvé dans les fichiers cachés de mon home avec leur nom et le chemin complet (recherche récursive dans les sous-répertoires avec -r). Le second grep rejette les fichiers où le motif n'existe pas. Y a-t-il une solution plus « élégante » pour arriver au même résultat ? Bonne soirée, Dominique
En donnant les chemins complets sur la ligne de commande.
grep foo ~/.*
Vu ! Merci.
Avec
grep -c alias ~/.* | grep -v :0
j'obtiens le nombre de fois où le motif 'alias' est trouvé dans les
fichiers cachés de mon home avec leur nom et le chemin complet
(recherche récursive dans les sous-répertoires avec -r). Le second grep
rejette les fichiers où le motif n'existe pas.
Y a-t-il une solution plus « élégante » pour arriver au même résultat ?
Bonne soirée,
Dominique
En donnant les chemins complets sur la ligne de commande.
grep foo ~/.*
Vu ! Merci. Avec grep -c alias ~/.* | grep -v :0 j'obtiens le nombre de fois où le motif 'alias' est trouvé dans les fichiers cachés de mon home avec leur nom et le chemin complet (recherche récursive dans les sous-répertoires avec -r). Le second grep rejette les fichiers où le motif n'existe pas. Y a-t-il une solution plus « élégante » pour arriver au même résultat ? Bonne soirée, Dominique
Michel Tatoute
dominique wrote:
En donnant les chemins complets sur la ligne de commande.
grep foo ~/.*
Vu ! Merci. Avec grep -c alias ~/.* | grep -v :0 j'obtiens le nombre de fois où le motif 'alias' est trouvé dans les fichiers cachés de mon home avec leur nom et le chemin complet
non: tu obtiens le nombre de lignes contenant alias (si il y a deux alias sur 1 ligne il ne comptent que pour 1).
(recherche récursive dans les sous-répertoires avec -r). Le second grep rejette les fichiers où le motif n'existe pas.
non: il rejette aussi les fichiers dont le nom contient :0 il affiche le morceau de nom de fichier contenant un saut de ligne dans le nom meme s'il y a 0 alias dedans
pour corriger "il rejette aussi les fichiers dont le nom contient :0" :
grep -c alias ~/.* | grep -v ':0$'
Y a-t-il une solution plus « élégante » pour arriver au même résultat ?
$ grep -lZr alias ~/ | xargs -0 grep -F -c alias
c'est ce que je peux te proposer de mieux en utilisant grep, mais c'est pas terrible.
Bonne soirée, Toi aussi,
Dominique
Michel
dominique wrote:
En donnant les chemins complets sur la ligne de commande.
grep foo ~/.*
Vu ! Merci.
Avec
grep -c alias ~/.* | grep -v :0
j'obtiens le nombre de fois où le motif 'alias' est trouvé dans les
fichiers cachés de mon home avec leur nom et le chemin complet
non:
tu obtiens le nombre de lignes contenant alias (si il y a deux alias sur 1
ligne il ne comptent que pour 1).
(recherche récursive dans les sous-répertoires avec -r). Le second grep
rejette les fichiers où le motif n'existe pas.
non:
il rejette aussi les fichiers dont le nom contient :0
il affiche le morceau de nom de fichier contenant un
saut de ligne dans le nom meme s'il y a 0 alias dedans
pour corriger "il rejette aussi les fichiers dont le nom contient :0" :
grep -c alias ~/.* | grep -v ':0$'
Y a-t-il une solution plus « élégante » pour arriver au même résultat ?
$ grep -lZr alias ~/ | xargs -0 grep -F -c alias
c'est ce que je peux te proposer de mieux en utilisant grep,
mais c'est pas terrible.
En donnant les chemins complets sur la ligne de commande.
grep foo ~/.*
Vu ! Merci. Avec grep -c alias ~/.* | grep -v :0 j'obtiens le nombre de fois où le motif 'alias' est trouvé dans les fichiers cachés de mon home avec leur nom et le chemin complet
non: tu obtiens le nombre de lignes contenant alias (si il y a deux alias sur 1 ligne il ne comptent que pour 1).
(recherche récursive dans les sous-répertoires avec -r). Le second grep rejette les fichiers où le motif n'existe pas.
non: il rejette aussi les fichiers dont le nom contient :0 il affiche le morceau de nom de fichier contenant un saut de ligne dans le nom meme s'il y a 0 alias dedans
pour corriger "il rejette aussi les fichiers dont le nom contient :0" :
grep -c alias ~/.* | grep -v ':0$'
Y a-t-il une solution plus « élégante » pour arriver au même résultat ?
$ grep -lZr alias ~/ | xargs -0 grep -F -c alias
c'est ce que je peux te proposer de mieux en utilisant grep, mais c'est pas terrible.
Bonne soirée, Toi aussi,
Dominique
Michel
Michel Tatoute
dominique wrote:
En donnant les chemins complets sur la ligne de commande.
grep foo ~/.*
Vu ! Merci. Avec grep -c alias ~/.* | grep -v :0 j'obtiens le nombre de fois où le motif 'alias' est trouvé dans les fichiers cachés de mon home avec leur nom et le chemin complet
non: tu obtiens le nombre de lignes contenant alias (si il y a deux alias sur 1 ligne il ne comptent que pour 1).
(recherche récursive dans les sous-répertoires avec -r). Le second grep rejette les fichiers où le motif n'existe pas.
non: il rejette aussi les fichiers dont le nom contient :0 il affiche le morceau de nom de fichier contenant un saut de ligne dans le nom meme s'il y a 0 alias dedans
pour corriger "il rejette aussi les fichiers dont le nom contient :0" :
grep -c alias ~/.* | grep -v ':0$'
Y a-t-il une solution plus « élégante » pour arriver au même résultat ?
$ grep -lFZr alias ~/ | xargs -0 grep -F -c alias
c'est ce que je peux te proposer de mieux en utilisant grep, mais c'est pas terrible.
Bonne soirée, Toi aussi,
Dominique
Michel
dominique wrote:
En donnant les chemins complets sur la ligne de commande.
grep foo ~/.*
Vu ! Merci.
Avec
grep -c alias ~/.* | grep -v :0
j'obtiens le nombre de fois où le motif 'alias' est trouvé dans les
fichiers cachés de mon home avec leur nom et le chemin complet
non:
tu obtiens le nombre de lignes contenant alias (si il y a deux alias sur 1
ligne il ne comptent que pour 1).
(recherche récursive dans les sous-répertoires avec -r). Le second grep
rejette les fichiers où le motif n'existe pas.
non:
il rejette aussi les fichiers dont le nom contient :0
il affiche le morceau de nom de fichier contenant un
saut de ligne dans le nom meme s'il y a 0 alias dedans
pour corriger "il rejette aussi les fichiers dont le nom contient :0" :
grep -c alias ~/.* | grep -v ':0$'
Y a-t-il une solution plus « élégante » pour arriver au même résultat ?
$ grep -lFZr alias ~/ | xargs -0 grep -F -c alias
c'est ce que je peux te proposer de mieux en utilisant grep,
mais c'est pas terrible.
En donnant les chemins complets sur la ligne de commande.
grep foo ~/.*
Vu ! Merci. Avec grep -c alias ~/.* | grep -v :0 j'obtiens le nombre de fois où le motif 'alias' est trouvé dans les fichiers cachés de mon home avec leur nom et le chemin complet
non: tu obtiens le nombre de lignes contenant alias (si il y a deux alias sur 1 ligne il ne comptent que pour 1).
(recherche récursive dans les sous-répertoires avec -r). Le second grep rejette les fichiers où le motif n'existe pas.
non: il rejette aussi les fichiers dont le nom contient :0 il affiche le morceau de nom de fichier contenant un saut de ligne dans le nom meme s'il y a 0 alias dedans
pour corriger "il rejette aussi les fichiers dont le nom contient :0" :
grep -c alias ~/.* | grep -v ':0$'
Y a-t-il une solution plus « élégante » pour arriver au même résultat ?
$ grep -lFZr alias ~/ | xargs -0 grep -F -c alias
c'est ce que je peux te proposer de mieux en utilisant grep, mais c'est pas terrible.