【发布时间】:2011-11-15 23:13:12
【问题描述】:
我正在尝试搜索文件内容。该文件位于包含子文件夹的目录中。
命令
grep -l 'keyword'
正在工作并且正在查找文件夹下的所有文件。如果我在包含子文件夹的文件夹中搜索,我不会得到任何结果。
有没有办法使用目录级搜索来搜索文件内容?
【问题讨论】:
标签: unix search grep ibm-midrange
我正在尝试搜索文件内容。该文件位于包含子文件夹的目录中。
命令
grep -l 'keyword'
正在工作并且正在查找文件夹下的所有文件。如果我在包含子文件夹的文件夹中搜索,我不会得到任何结果。
有没有办法使用目录级搜索来搜索文件内容?
【问题讨论】:
标签: unix search grep ibm-midrange
你需要做这样的事情:
find . -type f -exec grep -l 'keyword' {} \;
您还可以使用-name 选项限制查找并为其指定一个shell 正则表达式,例如'*.txt'。
在哪里“。”是您所在的当前文件夹 - 您也可以提供任何目录路径而不是 '.'搜索给定的文件夹。
见:man find
【讨论】:
这个用法grep你当前目录下的每个文件(包括子目录)。
find | xargs grep -l 'keyword'
这就是你要找的吗?
【讨论】:
find ./folder -type f -exec grep -l 'keyword' {} \;
./folder 是您要搜索的文件夹
【讨论】:
grep -l 而不是grep -n,-n 给你匹配的行号,-l 给你文件名
你可以使用:
grep -rl 'keyword' *
【讨论】: