Quelle commande concise puis-je utiliser pour rechercher tous les fichiers ne contenant PAS de chaîne de texte?
J'ai essayé ceci (en utilisant -v pour inverser les paramètres de grep) sans succès:
find . -exec grep -v -l shared.php {} \;
Quelqu'un a dit que cela fonctionnerait:
find . ! -exec grep -l shared.php {} \;
Mais cela ne semble pas fonctionner pour moi.
Cette page a cet exemple:
find ./logs -size +1c > t._tmp
while read filename
do
grep -q "Process Complete" $filename
if [ $? -ne 0 ] ; then
echo $filename
fi
done < t._tmp
rm -f t_tmp
Mais c'est lourd et pas du tout concis.
ps: Je sais que cela grep -L *
suffira, mais je veux vraiment savoir comment utiliser la commande find en combinaison avec grep pour exclure des fichiers.
pss: De plus, je ne suis pas sûr de savoir comment grep inclut des sous-répertoires avec la grep -L *
syntaxe, mais je veux tout de même savoir comment l'utiliser avec find
:)