![打印-从子目录中 grep 文本的路径-Unix](https://linux22.com/image/1529783/%E6%89%93%E5%8D%B0-%E4%BB%8E%E5%AD%90%E7%9B%AE%E5%BD%95%E4%B8%AD%20grep%20%E6%96%87%E6%9C%AC%E7%9A%84%E8%B7%AF%E5%BE%84-Unix.png)
假设我有这行文字:
你好吗?
现在我想打印包含文本“你好吗”的文件的路径。
我将非常感谢您的帮助。
答案1
使用 GNU grep,您可以使用-R
标志以grep
递归方式搜索匹配项。如果您grep
不支持该标志,则可以将find
其与它一起使用,例如
find "path_to_start" -type f -exec grep -l "How are you?" {} +
它将同时对多个文件执行grep -l "How are you?" for each file found anywhere under
path_to_start (well, with
{} + it might invoke
grep`,但输出是相同的)。
尽管使用 GNUgrep
可以
grep -Rl "How are you?" "path_to_start"
在这两个命令中,你将 where 替换"path_to_start"
为要开始搜索的根