GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare file di testo che non contengono testo su Linux?

Puoi farlo solo con grep (senza find).

grep -riL "somestring" .

Questa è la spiegazione dei parametri utilizzati su grep

     -L, --files-without-match
             each file processed.
     -R, -r, --recursive
             Recursively search subdirectories listed.

     -i, --ignore-case
             Perform case insensitive matching.

Se usi l minuscolo otterrai il contrario (file con corrispondenze)

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

Il comando che citi, abbastanza ironicamente, fa esattamente quello che descrivi. Provalo!

echo "hello" > a
echo "bye" > b
grep -iL BYE a b

Dice un solo.

Penso che potresti confondere -L e -l

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

è l'inverso di

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

A proposito, considera

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

O anche

grep -IRiL "somestring" .

Linux
  1. Come trovare file modificati recenti o di oggi in Linux

  2. Come unire due file di testo in Linux

  3. Come trovare tutti i file che non contengono una stringa di testo?

  4. Come trovare più stringhe nei file??

  5. Come trovo tutti i file contenenti testo specifico su Linux?

Come contare i file nella directory in Linux

Come trovare una stringa in un file su Linux

Come trovare file in base alle loro autorizzazioni in Linux

Come trovare file basati su timestamp in Linux

Come trovare file contenenti una stringa di testo specifica in Linux

Trova testo nei file su Linux usando grep