Re: Détecter fichiers qui n'ont pas une expression
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
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
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
É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
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
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
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
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
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
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
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
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é