Как найти файлы, которые не содержат заданный шаблон строки? - PullRequest
461 голосов
/ 17 ноября 2009

Как мне найти файлы в текущем каталоге, которые не содержат слово foo (используя grep)?

Ответы [ 13 ]

1 голос
/ 08 мая 2016

Мой grep не имеет опции -L. Я нахожу обходной путь для достижения этого.

Идеи:

  1. чтобы выгрузить все имена файлов, содержащих заслуженную строку, в txt1.txt.
  2. сбросить все имена файлов в каталоге в txt2.txt.
  3. делает различие между файлом дампа 2 командой diff.

    grep 'foo' *.log | cut -c1-14 | uniq > txt1.txt
    grep * *.log | cut -c1-14 | uniq > txt2.txt
    diff txt1.txt txt2.txt | grep ">"
    
0 голосов
/ 30 апреля 2014
grep -irnw "filepath" -ve "pattern"

или

grep -ve "pattern" < file
Команда

выше даст нам результат, так как -v находит инверсию искомого шаблона

0 голосов
/ 11 октября 2013

Следующая команда может помочь вам отфильтровать строки, содержащие подстроку "foo".

cat file | grep -v "foo"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...