GNU/Linux >> Tutoriels Linux >  >> Linux

Comment trouver des fichiers texte ne contenant pas de texte sous Linux ?

Vous pouvez le faire avec grep seul (sans trouver).

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 minuscules vous obtiendrez le contraire (fichiers avec correspondances)

     -l, --files-with-matches
             Only the names of files containing selected lines are written

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 un seul.

Je pense que vous confondez peut-être -L et -l

find . -print | xargs grep -iL "somestring"

est l'inverse de

find . -print | xargs grep -il "somestring"

Au fait, considérez

find . -print0 | xargs -0 grep -iL "somestring"

Ou même

grep -IRiL "somestring" .

Linux
  1. Comment trouver les fichiers modifiés récents ou d'aujourd'hui sous Linux

  2. Comment utiliser la commande Grep pour rechercher du texte dans des fichiers

  3. Comment joindre deux fichiers texte sous Linux

  4. Comment trouver des fichiers en double sous Linux

  5. Comment trouver plusieurs chaînes dans des fichiers ? ?

Comment compter les fichiers dans le répertoire sous Linux

Comment trouver une chaîne dans un fichier sous Linux

Comment trouver des fichiers en fonction de leurs autorisations sous Linux

Comment trouver des fichiers basés sur l'horodatage sous Linux

Comment trouver des fichiers contenant une chaîne de texte spécifique sous Linux

Rechercher du texte dans des fichiers sous Linux à l'aide de grep