Использование команды grep –исключать/включать–синтаксис не грэп через определенные файлы

Я ищу строку “Foo=” (без кавычек) в текстовые файлы в дереве каталогов. Это на общей машине с Linux, у меня есть bash, то:

grep -ircl "foo=" * 

В каталогах также множество бинарных файлов, который матч с “Foo=”.

Поскольку эти результаты не являются актуальными и замедлить поиск, я хочу, чтобы команда grep, чтобы пропустить поиск этих файлов (в основном JPEG и PNG изображений).

Как мне это сделать?

Я знаю, что есть опцию –exclude=шаблон и –включать=шаблон вариантов, но какой формат рисунка? На Man-странице команды grep говорит:

--include=PATTERN     Recurse in directories only searching file matching PATTERN. --exclude=PATTERN     Recurse in directories skip file matching PATTERN. 

Поиск по грэп включают, грэп включает исключить, грэп исключать и вариантов не найдете ничего подходящего

Если есть лучший способ применение grep только в определенных файлах, я все для него; перемещение зараженных файлов-не вариант.

Я не могу искать только определенные папки (структура папок выглядит большой беспорядок, все везде).

Также, я не могу ничего устанавливать, так что я должен делать с общими инструментами (например, грэп или предложили найти).

Обновления: @Адама Розенфельдответом является только то, что я искал:

grep -ircl --exclude=*.{png,jpg} "foo=" * 

@rmeador‘ы ответ тоже хорошее решение:

grep -Ir --exclude="*\.svn*" "pattern" * 

Он ищет рекурсивно, игнорирует двоичные файлы, и не выглядит подрывной деятельности внутри скрытых папок.(…)

Попробуйте это:

  1. Создайте папку с именем “--F“под currdir ..(или ссылку другую папку, там переименовал в “--F“т. е. double-minus-F.
  1. #> grep -i --exclude-dir="--F" "pattern" *

 

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*