Назад | Перейти на главную страницу

Как пройти по файловой системе в поисках совпадения с регулярным выражением?

Я знаю, что это игра для опытных системных администраторов, но я ищу поиск в дереве каталогов содержимого файлов, соответствующих регулярному выражению (здесь слово «Ключевое слово»). Я зашел так далеко, но теперь у меня проблемы с игнорированием файлов в скрытом (.svn) дереве файлов.

Вот с чем я работаю. Вы можете видеть, что я отлично ищу файлы, в имени которых есть ".svn", но я не могу инвертировать iname var с помощью a! как я видел в других документах.

find . -exec grep "Keyword" '{}' \; -iname .svn; -print

Вышеупомянутое возвращает почти все и вся.

Как насчет рекурсивного grep:

grep -r --exclude "*.svn*" "Keyword" .
find . \( -iname '.svn' -prune \) -o \( -exec grep -q ... \; -print \)