Re: Détecter fichiers qui n'ont pas une expression

2017-06-28 Par sujet Eric Degenetais
Effectivement, ça devrait fonctionner de cette manière. Je devais être en
vrac... si -q était l'option correcte sur grep seul alors c'est aussi la
bonne option dans find -exec

Le 28 juin 2017 20:20, "Étienne Mollier"  a
écrit :



On 06/28/2017 08:09 PM, Étienne Mollier wrote:
> La commande suivante pourrait-elle correspondre à vos attentes ?
>
> find chemin/racine/ -type f -name '*.txt' -not -exec grep -q
 '{}' \;
>

Erratum, le `-print` à sauté à la fin de la commande.  Il faut lire :

find chemin/racine/ -type f -name '*.txt' -not -exec grep -q
 '{}' \; -print

--
Étienne Mollier 


Re: Détecter fichiers qui n'ont pas une expression

2017-06-28 Par sujet Étienne Mollier


On 06/28/2017 08:09 PM, Étienne Mollier wrote:
> La commande suivante pourrait-elle correspondre à vos attentes ?
> 
> find chemin/racine/ -type f -name '*.txt' -not -exec grep -q 
>  '{}' \;
> 

Erratum, le `-print` à sauté à la fin de la commande.  Il faut lire :

find chemin/racine/ -type f -name '*.txt' -not -exec grep -q 
 '{}' \; -print

-- 
Étienne Mollier 



Re: Détecter fichiers qui n'ont pas une expression

2017-06-28 Par sujet Étienne Mollier
Le 28 juin 2017 10:44,  a écrit :
> On Tuesday 27 June 2017 20:14:49 Eric Degenetais wrote:
> > find chemin/racine -type f -name "*.txt" -exec grep -v  {} \; 
> > -print
>
>  Merci.
>
>  Ça fonctionne mais moins bien que les deux ci-dessous,
>  car la commande affiche quand même quelques fichiers qui
>  ont pourtant l'expression.

On 06/28/2017 06:55 PM, Eric Degenetais wrote:
> Étrange, ça devrait fonctionner aussi. Et aider si les fichiers
> sont dispersés. Pas le temps de tester en détail mais il faudra
> que j'y revienne O_o
>

Bonjour,

Si j'ai bien compris le principe, la logique semble pêcher dans
la négation de la correspondance.  Avec la proposition ci-dessus,
l'assertion suivante est vraie alors qu'apparemment, on la
préférerait fausse :

Si le fichier contient au moins une ligne dans laquelle
l'expression n'est pas présente,
alors afficher le fichier.

La commande suivante pourrait-elle correspondre à vos attentes ?

find chemin/racine/ -type f -name '*.txt' -not -exec grep -q 
 '{}' \;

Le `-v` du `grep` est enlevé et est remplacé par l'option `-not`
de la commande `find` pour indiquer que la commande passée au
`-exec` doit terminer en erreur pour que le fichier corresponde à
la recherche.  L'option `-q` est simplement là pour signaler à
`grep` de ne pas afficher les correspondances qu'il trouve, ça
donnera au passage une sortie d'écran un peu plus lisible.

À plus,
-- 
Étienne Mollier 



Re: Détecter fichiers qui n'ont pas une expression

2017-06-28 Par sujet Eric Degenetais
Étrange, ça devrait fonctionner aussi. Et aider si les fichiers sont
dispersés. Pas le temps de tester en détail mais il faudra que j'y revienne
O_o

Le 28 juin 2017 10:44,  a écrit :

> On Tuesday 27 June 2017 20:14:49 Eric Degenetais wrote:
> > Effectivement, mille excuses c'est une étourderie, il faut ajouter -v au
> > grep :
> > find chemin/racine -type f -name "*.txt" -exec grep -v  {} \;
> > -print
>
> Merci.
>
> Ça fonctionne mais moins bien que les deux ci-dessous,
> car la commande affiche quand même quelques fichiers qui
> ont pourtant l'expression.
>
> Bonne journée, André
>
> > Le 27 juin 2017 7:01 PM,  a écrit :
> > On Tuesday 27 June 2017 10:50:47 Bernard Isambert wrote:
> > > Si j'ai bien compris la question :
> > > for FIC in 
> > > do
> > > grep -l -q  "$FIC" || echo "$FIC"
> > > done
> >
> > On Tuesday 27 June 2017 10:52:39 Erwan David wrote:
> > > grep -L plutôt.
> >
> > Les deux ci-dessus semblent bien marcher.
> > Merci.
>
>
>


Re: Détecter fichiers qui n'ont pas une expression

2017-06-28 Par sujet andre_debian
On Tuesday 27 June 2017 20:14:49 Eric Degenetais wrote:
> Effectivement, mille excuses c'est une étourderie, il faut ajouter -v au
> grep :
> find chemin/racine -type f -name "*.txt" -exec grep -v  {} \;
> -print

Merci.

Ça fonctionne mais moins bien que les deux ci-dessous,
car la commande affiche quand même quelques fichiers qui 
ont pourtant l'expression.

Bonne journée, André

> Le 27 juin 2017 7:01 PM,  a écrit :
> On Tuesday 27 June 2017 10:50:47 Bernard Isambert wrote:
> > Si j'ai bien compris la question :
> > for FIC in 
> > do
> > grep -l -q  "$FIC" || echo "$FIC"
> > done
> 
> On Tuesday 27 June 2017 10:52:39 Erwan David wrote:
> > grep -L plutôt.
> 
> Les deux ci-dessus semblent bien marcher.
> Merci.




Re: Détecter fichiers qui n'ont pas une expression

2017-06-27 Par sujet Eric Degenetais
Effectivement, mille excuses c'est une étourderie, il faut ajouter -v au
grep :

find chemin/racine -type f -name "*.txt" -exec grep -v  {} \;
-print

Cordialement

Éric Dégenètais


Le 27 juin 2017 7:01 PM,  a écrit :

On Tuesday 27 June 2017 10:50:47 Bernard Isambert wrote:
> Si j'ai bien compris la question :
> for FIC in 
> do
> grep -l -q  "$FIC" || echo "$FIC"
> done

On Tuesday 27 June 2017 10:52:39 Erwan David wrote:
> grep -L plutôt.

Les deux ci-dessus semblent bien marcher.
Merci.

Mais :
On Tuesday 27 June 2017 13:48:35 Eric Degenetais wrote:
> find répertoire/racine/recherche -type f -name "*.txt" -exec grep
> expression {} \; -print

affichent ceux qui ont l'expression... :-)

André


Re: Détecter fichiers qui n'ont pas une expression

2017-06-27 Par sujet andre_debian
On Tuesday 27 June 2017 10:50:47 Bernard Isambert wrote:
> Si j'ai bien compris la question :
> for FIC in 
> do
> grep -l -q  "$FIC" || echo "$FIC"
> done

On Tuesday 27 June 2017 10:52:39 Erwan David wrote:
> grep -L plutôt.

Les deux ci-dessus semblent bien marcher.
Merci.

Mais :
On Tuesday 27 June 2017 13:48:35 Eric Degenetais wrote:
> find répertoire/racine/recherche -type f -name "*.txt" -exec grep
> expression {} \; -print

affichent ceux qui ont l'expression... :-)

André




Re: Détecter fichiers qui n'ont pas une expression

2017-06-27 Par sujet hamster
Le 27/06/2017 à 13:48, Eric Degenetais a écrit :
> Si les fichiers ne sont pas forcément au même niveau d'arborescence :
>
> find répertoire/racine/recherche -type f -name "*.txt" -exec grep
> expression {} \; -print

Pour avoir les fichiers qui n'ont PAS une certaine expression, j'aurais
plutot mis grep -v dans ta formule. Et peut etre aussi un \; apres le print

Mais il y a un point que j'ai pas compris : est-ce qu'il faut des
fichiers qui n'ont pas une expression dans leur nom, ou bien dans le
corps du fichier ?



Re: Détecter fichiers qui n'ont pas une expression

2017-06-27 Par sujet Eric Degenetais
Si les fichiers ne sont pas forcément au même niveau d'arborescence :

find répertoire/racine/recherche -type f -name "*.txt" -exec grep
expression {} \; -print

Cordialement

Éric Dégenètais


Le 27 juin 2017 10:52, "Erwan David"  a écrit :

Le 06/27/17 à 10:50, Bernard Isambert a écrit :
> Si j'ai bien compris la question :
>
> for FIC in 
> do
> grep -l -q  "$FIC" || echo "$FIC"
> done
>
>

grep -L  
plutôt.


Re: Détecter fichiers qui n'ont pas une expression

2017-06-27 Par sujet Erwan David
Le 06/27/17 à 10:50, Bernard Isambert a écrit :
> Si j'ai bien compris la question :
> 
> for FIC in 
> do
> grep -l -q  "$FIC" || echo "$FIC"
> done
> 
> 

grep -L  
plutôt.



Re: Détecter fichiers qui n'ont pas une expression

2017-06-27 Par sujet Bernard Isambert

Si j'ai bien compris la question :

for FIC in 
do
grep -l -q  "$FIC" || echo "$FIC"
done


--
Bernard.
20 ans d'utilisation de Debian. Comme le temps passe...



Détecter fichiers qui n'ont pas une expression

2017-06-27 Par sujet andre_debian
Bonjour,

Dans une série de fichiers ayant la même extension,
p. ex. .txt, comment afficher ceux qui n'ont pas une 
expression précise :
p. ex. "background-color:#F3F781;"

Merci d'avance,

André