如何在“grep -R”中排除与glob模式匹配的多个目录?

时间:2014-03-07 21:33:12

标签: linux grep

我在当前目录中有一些名称如“mm-yyyy”(01-2014)的目录。我想grep名称为“2013”​​的目录中的文件。如何排除名称中没有“2013”​​的目录?我尝试了以下但是没有用:

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

它仍然通过所有子目录来执行grep。

2 个答案:

答案 0 :(得分:44)

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

答案 1 :(得分:18)

你可以使用

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