行
\ls -1 | grep -v log | xargs grep -r foobar
部分有效,但它也会跳过“博客”目录,因为它也被grep -v log
排除在外。 (上面的\ls
是让ls
不做任何别名,例如ls -F
)
答案 0 :(得分:3)
\ls -1 | grep -v ^log$ | xargs grep -r foobar
或
grep --exclude-dir=log -r foobar *
答案 1 :(得分:2)
find . -name log -prune -o -type f -print0 |xargs -0 grep foobar
答案 2 :(得分:1)
GNU grep有这个选项:
--exclude-dir=DIR
Exclude directories matching the pattern DIR from recursive searches.
答案 3 :(得分:0)
使用bash,您可以使用extglob
shopt -s extglob
grep "foobar" !(log)