Recursion 通过向上递归有效地grep

Recursion 通过向上递归有效地grep,recursion,grep,Recursion,Grep,如何在Grep中运行以下操作? grep "TODO" * grep "TODO" */* grep "TODO" */*/* grep "TODO" */*/*/* grep "TODO" */*/*/*/* 我跑不成功 grep -r "TODO" 我通过ack grep通过ack grep TODO获得我想要的。如果要递归,请使用-R/-R和路径: grep -R "TODO" . 因此,要么你错过了路径(.)要么我误解了你的问题。如果你想递归,请使用-R/-R和路径: grep -

如何在Grep中运行以下操作?

grep "TODO" *
grep "TODO" */*
grep "TODO" */*/*
grep "TODO" */*/*/*
grep "TODO" */*/*/*/*
我跑不成功

grep -r "TODO"
我通过ack grep通过
ack grep TODO

获得我想要的。如果要递归,请使用-R/-R和路径:

grep -R "TODO" .
因此,要么你错过了路径(.)要么我误解了你的问题。

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

grep -R "TODO" .

因此,要么你错过了路径(.)要么我误解了你的问题。

让shell完成工作:

grep "TODO" **/*

让shell完成以下工作:

grep "TODO" **/*

找到-exec grep-H TODO{}+

查找-execgrep-htodo{}+

注意+不是标准的,并且不是所有的find实现都支持它。您始终可以使用\;,但效率会降低。(将产生更多的子进程。)这似乎运行了很多
grep
进程。。。可能很慢。@liori:这就是加号运算符的要点-请参阅手册:啊,是的,总是忘记它与\
-H
在Ubuntu的默认安装中似乎是多余的,因为它也为我打印文件名,而没有打印文件名。注意+不是标准的,并且不是所有的find实现都支持它。您始终可以使用\;,但效率会降低。(将产生更多的子进程。)这似乎运行了很多
grep
进程。。。可能很慢。@liori:这就是加号运算符的要点-请参阅手册:啊,是的,总是忘记它与\
-H
在Ubuntu的默认安装中似乎是无关的,因为它也为我打印文件名,而不打印文件名。