Фильтр кода оператора Find / grep - PullRequest
1 голос
/ 02 декабря 2011

Мне нужно создать список файлов IFS, которые содержат данную строку ( "МЫ"). (IFS - это база данных IBM System i) Мне нужно искать каталог / linoma / goanywhere / projects рекурсивно. Я был в состоянии сделать это с помощью комбинации НАЙТИ и команды GREP в QSHELL:

find / linoma / goanywhere / userdata / projects -type f -exec grep -lRF "iim" '{}' ';'

Вот в чем проблема: есть подкаталог, который я хочу игнорировать (/ Linoma / GoAnywhere / UserData / проекты / демо). Как бы я изменил мой оператор find / grep для исключения демонстрационной папки?

1 Ответ

3 голосов
/ 02 декабря 2011

find /linoma/goanywhere/userdata/projects -( -type f -and -not -path '/linoma/goanywhere/userdata/projects/demo/**' -) -exec grep -IRF 'iim' '{}' ';' должно работать на GNU find, я считаю.Если ваш локальный find не поддерживает этот синтаксис, вы также можете удалить перебор, добавив | grep -v /linoma/goanywhere/userdata/projects/demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...