Подтвердить что ты не робот

Как исключить несколько каталогов, соответствующих шаблону glob в "grep -R"?

У меня есть несколько каталогов с именами типа "mm-yyyy" (01-2014) в текущем каталоге. Я хочу grep файлы в каталогах, имена которых имеют "2013". Как я могу исключить каталоги, чьи имена не имеют "2013"? Я пробовал следующее, но это не сработало:

grep hill * -R --exclude-dir=*201[0-2]

Он по-прежнему прошел через все подкаталоги, чтобы сделать grep.

4b9b3361

Ответ 1

вы можете использовать

grep -R hill *-2013

с помощью --exclude-dir тоже должно работать:

grep -R hill --exclude-dir=".*201[0-2]" .

без котировок звездочка будет расширена на bash. Кроме того, подстановочный знак для регулярных выражений - .*

. - matches any character
* - match any number of repetitions of the previous character, including none

Ответ 2

grep -r --exclude-dir={dir1,dir2,dir3} string_to_search_for *