使用grep在文件中搜索字符串,包括子文件夹

时间:2010-06-21 10:19:16

标签: search shell find grep

我必须使用grep命令搜索文件中的特定文本,但是它只搜索当前文件夹。我想要的是使用单个grep命令我可以搜索当前文件夹中的特定内容就像在它的所有子文件夹中一样。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

man grep

   -R, -r, --recursive
          Read all  files  under  each  directory,  recursively;  this  is
          equivalent to the -d recurse option.

答案 1 :(得分:1)

POSIX grep不支持递归搜索 - grep的GNU版本。

find . -type f -exec grep 'pattern' {} \;

可以在任何符合POSIX标准的UNIX上运行。

答案 2 :(得分:0)

更常见的是使用find with xargs,比如说

 find <dir> -type f -name <shellglob> -print0 | xargs grep -0 

其中-print0-0,分别使用null char来分隔条目,以避免文件名出现空格字符的问题。