使用 grep 返回文件列表,给定多个关键字(例如 google 返回网页列表)

发布于 2024-09-24 21:05:42 字数 103 浏览 2 评论 0原文

我需要找到文件中任何位置(不一定在同一行)具有多个关键字的所有文件,给定像 ~/. “grep -ro”可以做到这一点吗?

(我使用的是 Unix、Mac OSX 10.4)

I need to find ALL files that have multiple keywords anywhere in the file (not necessarily on the same line), given a starting directory like ~/. Does "grep -ro" do this?

(I'm using Unix, Mac OSX 10.4)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

永不分离 2024-10-01 21:05:42

您可以使用 -l 选项来获取具有匹配项的文件名列表,因此只需查找具有第一个关键字的所有文件,然后将该列表过滤到也包含该关键字的文件即可。有第二个关键字:

grep -rl first_keyword basedir | xargs grep -l second_keyword

You can use the -l option to get a list of filenames with matches, so it's just a matter of finding all of the files that have the first keyword and then filtering that list down to the files that also have the second keyword:

grep -rl first_keyword basedir | xargs grep -l second_keyword
怕倦 2024-10-01 21:05:42

仅搜索 *.txt

find ~/. -name "*.txt" | xargs grep -l first_keyword | xargs grep -l second_keyword

谢谢 Adam!

To search just *.txt

find ~/. -name "*.txt" | xargs grep -l first_keyword | xargs grep -l second_keyword

Thanks Adam!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文