我在当前目录中有一些名称如“mm-yyyy”(01-2014)的目录。我想grep名称为“2013”的目录中的文件。如何排除名称中没有“2013”的目录?我尝试了以下但是没有用:
grep hill * -R --exclude-dir=*201[0-2]
它仍然通过所有子目录来执行grep。
答案 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