2009-08-21 74 views
1

如何在Grep中运行以下代码?向上递归grep

grep "TODO" * 
grep "TODO" */* 
grep "TODO" */*/* 
grep "TODO" */*/*/* 
grep "TODO" */*/*/*/* 

我运行不成功

grep -r "TODO" 

我得到了我想要的ack-grep的由ack-grep TODO

+0

谢谢你的回答! – 2009-08-21 22:50:32

回答

3

如果你想grep递归,使用-R/-R和路径:

grep -R "TODO" . 

因此,无论你缺少的路径,或者我误解你的问题()。

3

让壳做的工作:

grep "TODO" **/* 
+0

这项工作在Zsh,但不在Bash 3.2,Ubuntu。 – 2009-08-21 22:48:50

3

发现。 -exec grep -H TODO {} +

+0

+1将我介绍给'find''s * plus *运算符 - 谢谢! – RichieHindle 2009-08-21 22:45:26

+0

请注意,+不是标准的,并不是所有的查找实现都支持它。你总是可以使用\ ;,但效率会降低。 (会产生更多的子进程。) – 2009-08-21 22:48:27

+0

这似乎运行了大量的'grep'进程...可能会很慢。 – liori 2009-08-21 22:50:27