2015-07-17 1 views
1

Я пытаюсь настроить мой GREP_OPTIONS, чтобы всегда исключать определенные каталоги (например, target/classes). Я специально пытаюсь заставить это работать для рекурсивных greps. Использование --exclude-dir=target/classes отлично работает, когда текущий каталог содержит target/classes, но не так, когда я в родительском каталоге. Моему текущему решению требуется установить как --exclude-dir=target/classes, так и --exclude-dir=*/target/classes. Я ищу более прямое решение, которое, как я полагаю, будет связано с регулярным выражением. Я пробовал --exclude-dir=(*/)?target/classes и другие перестановки, но я не могу заставить его работать.grep exclude-dir в текущей директории или в подкаталогах

Да, я уверен, что это может быть выполнено с помощью других инструментов (например, find, awk и т. Д.), Но я бы очень хотел сохранить это ограничение (если возможно) до решения GREP_OPTIONS.

+5

Информационная страница для grep, по-видимому, указывает, что аргумент '--exclude-dir' является' GLOB'. Глобус не может этого сделать. –

ответ

0

Вот рабочий пример тестирования, будьте осторожны с синтаксисом и не опечатка:

root/dspace# grep -r --exclude-dir={log,assetstore} "creativecommons.org" 

Выше я Grep для текста «CreativeCommons.org» в текущей директории «DSpace» и исключить каталоги {журнал, assetstore }.

Выполнено.

Смежные вопросы