Le 28 juin 2017 10:44, <andre_deb...@numericable.fr> a écrit : > On Tuesday 27 June 2017 20:14:49 Eric Degenetais wrote: > > find chemin/racine -type f -name "*.txt" -exec grep -v <expression> {} \; > > -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 <expression> '{}' \; 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 <etienne.moll...@mailoo.org>