【问题标题】:How to combine two search words with "grep" (AND)如何将两个搜索词与“grep”(AND)结合起来
【发布时间】:2014-01-18 20:11:08
【问题描述】:

使用 grep,我可以在本地文件夹的 50 个文件中找到一个单词,即:

grep -i "hello" *.html

但是我怎样才能找到包含两个单词的文件呢?示例:我想查找包含单词“hello”和单词“peter”的所有文件。如何组合两个 grep?

【问题讨论】:

标签: linux grep


【解决方案1】:

要查看包含这两个单词的文件(可能位于不同的行),请使用-lxargs

grep -il "hello" *.html | xargs grep -il "peter"

编辑

如果您的文件名称中有空格,那么我们需要更加小心。为此,我们可以使用 grepxargs 的特殊选项:

grep -ilZ "hello" *.html | xargs -0 grep -il "peter"

【讨论】:

  • 哦 - 我写错了。特别是您的第二行非常有帮助。非常感谢,很抱歉造成混淆。
【解决方案2】:
egrep -irl "hello" * |egrep -irl "peter" \`cat -`

这将在所有子文件夹中递归搜索并匹配引号内的正则表达式

【讨论】:

  • 不起作用。应该找到一个文件。但我只是得到“找不到文件或路径”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
  • 2021-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-11
相关资源
最近更新 更多