Comment trouver des fichiers pas contenant du texte sur Linux ? En gros, je cherche l'inverse de ce qui suit
find . -print | xargs grep -iL "somestring"
Comment trouver des fichiers pas contenant du texte sur Linux ? En gros, je cherche l'inverse de ce qui suit
find . -print | xargs grep -iL "somestring"
La commande que vous citez, ironiquement, fait exactement ce que vous décrivez. Testez-la !
echo "hello" > a
echo "bye" > b
grep -iL BYE a b
Dit un seul.
Je pense que vous confondez -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" .
Vous pouvez le faire avec grep seul (sans find).
grep -riL "somestring" .
Voici l'explication des paramètres utilisés sur grep
-L, --files-without-match
each file processed.
-R, -r, --recursive
Recursively search subdirectories listed.
-i, --ignore-case
Perform case insensitive matching.
Si vous utilisez l
en minuscules, vous obtiendrez le contraire (fichiers avec correspondances)
-l, --files-with-matches
Only the names of files containing selected lines are written
Si vous utilisez "find" le script faites "grep" aussi dans le dossier :
[root@vps test]# find | xargs grep -Li 1234
grep: .: Is a directory
.
./test.txt
./test2.txt
[root@vps test]#
Utilisez directement le "grep" :
# grep -Li 1234 /root/test/*
/root/test/test2.txt
/root/test/test.txt
[root@vps test]#
ou spécifier dans "find" les options "-type f"...même si vous utilisez le find vous mettrez plus de temps (d'abord la liste des fichiers et ensuite faire le grep).
Trouvez le fichier de démarque à l'aide de find et grep pour trouver la non-concordance.
$ find. -name '* .md' -print0 | xargs -0 grep -iL "title"
Utiliser directement la fonction grep -L
pour rechercher des fichiers qui ne contiennent que des fichiers markdown et aucun titre
$ grep -iL "title" -r ./* --include '* .md'
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.