如何递归地grep所有目录和子目录?

find . | xargs grep "texthere" *

当前回答

要查找路径递归包含特定字符串的文件名,请使用以下命令对于UNIX:

find . | xargs grep "searched-string"

对于Linux:

grep -r "searched-string" .

在UNIX服务器上查找文件

find . -type f -name file_name

在LINUX服务器上查找文件

find . -name file_name

其他回答

也:

find ./ -type f -print0 | xargs -0 grep "foo"

但grep-r是更好的答案。

只有文件名也很有用

grep -r -l "foo" .

在POSIX系统中,找不到grep的-r参数和grep-rn“东西”。不会运行,但如果使用find命令,它将:

查找-键入f-exec grep-n“stuff”{}\-打印

Solaris和HP-UX同意。

只是为了好玩,如果@christangrant的答案太多而无法输入,可以快速搜索*.txt文件:-)

grep-r文本此处|grep.txt文件

对于.gz文件,递归扫描所有文件和目录更改文件类型或放置*

find . -name \*.gz -print0 | xargs -0 zgrep "STRING"