Comment trouver des fichiers not contenant du texte sous Linux? Fondamentalement, je cherche l'inverse de ce qui suit
find . -print | xargs grep -iL "somestring"
Ironiquement, la commande que vous citez fait exactement ce que vous décrivez ... Testez-la!
echo "hello" > a
echo "bye" > b
grep -iL BYE a b
Dit seulement.
Je pense que vous pouvez confondre -L et -l
find . -print | xargs grep -iL "somestring"
est l'inverse de
find . -print | xargs grep -il "somestring"
À propos, considérez
find . -print0 | xargs -0 grep -iL "somestring"
Ou même
grep -IRiL "somestring" .
Si vous utilisez "find", le script fait "grep" également dans le dossier:
[root@vps test]# find | xargs grep -Li 1234
grep: .: Is a directory
.
./test.txt
./test2.txt
[root@vps test]#
Utilisez le "grep" directement:
# grep -Li 1234 /root/test/*
/root/test/test2.txt
/root/test/test.txt
[root@vps test]#
ou spécifiez dans "trouver" les options "-type f" ... même si vous utilisez la recherche, vous mettrez plus de temps (d'abord la liste des fichiers, puis créez le grep).