GNU/Linux >> Znalost Linux >  >> Linux

Jak najít textové soubory, které neobsahují text v Linuxu?

Můžete to udělat pouze s grep (bez hledání).

grep -riL "somestring" .

Toto je vysvětlení parametrů použitých na grep

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

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

Pokud používáte l malými písmeny dostanete opak (soubory se shodami)

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

Příkaz, který citujete, ironicky dělá přesně to, co popisujete. Otestujte to!

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

Říká pouze.

Myslím, že si možná pletete -L a -l

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

je opak

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

Mimochodem, zvažte

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

Nebo dokonce

grep -IRiL "somestring" .

Linux
  1. Jak najít duplicitní soubory v Linuxu

  2. Jak najít všechny soubory, které neobsahují textový řetězec?

  3. Jak najít konkrétní text pomocí GREP v systému Linux

  1. Jak najít nedávné nebo dnešní upravené soubory v Linuxu

  2. Jak používat příkaz Grep k vyhledání textu v souborech

  3. Jak v Linuxu najdu všechny soubory obsahující konkrétní text?

  1. Jak spojit dva textové soubory v Linuxu

  2. Jak najít více řetězců v souborech?

  3. Příkaz Linux:Jak „najít“ pouze textové soubory?