'grep -l'不适用于具有子文件夹的文件夹

时间:2011-11-15 23:13:13

标签: unix search grep ibm-midrange

我正在尝试搜索文件内容。该文件位于包含子文件夹的目录中。

命令

grep -l 'keyword'

正在工作,正在查找文件夹下的所有文件。如果我在包含子文件夹的文件夹中搜索,我没有得到任何结果。

有没有办法使用目录级搜索来搜索文件内容?

4 个答案:

答案 0 :(得分:2)

你需要做这样的事情:

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

您还可以使用-name选项限制查找,并为其指定shell正则表达式,例如'* .txt'。

哪里'。'是您当前的文件夹 - 您还可以提供任何目录路径而不是“。”搜索给定的文件夹。

请参阅:man find

答案 1 :(得分:2)

此用法grep当前目录下的每个文件(包括子目录)。

find | xargs grep -l 'keyword'

这就是你要找的东西吗?

答案 2 :(得分:1)

find ./folder -type f -exec grep -l 'keyword' {} \;

./folder是您要搜索的文件夹

答案 3 :(得分:1)

您可以使用:

grep -rl 'keyword' *