2009-08-21 54 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