当前位置: 首页 > 知识库问答 >
问题:

grep命令用于包含“string1”而不是“string2”的文件

酆勇
2023-03-14

我把答案看了一遍-

我尝试了下面的命令,但是随着正确的结果,它还返回了包含两个字符串的文件-

grep -Hrn "String1" . | grep -v -Hrn "String2" 

请纠正我的错误。

共有1个答案

艾敏学
2023-03-14

您可以使用-l标志:

-L, --files-without-match  print only names of FILEs containing no match

首先找到不包含“String2”的文件,然后运行这些文件并找到包含“String1”的文件:

$ grep -L "String2" * | xargs grep -nH "String1"
 类似资料:
  • 我仔细看了答案- 我尝试了下面的命令,但是除了正确的结果之外,它还返回了包含两个字符串的文件- 请纠正我的错误。

  • 问题内容: 如何在cygwin中使用grep查找包含 两个 单词的所有文件。 这就是我用来递归搜索目录中所有文件的一个单词的方法: 如何扩展以上内容以查找同时包含“ db-connect.php”和“版本”的文件。 我试过了:但这是一个OR,即它获取包含一个或另一个的文件。 谢谢大家的帮助 问题答案:

  • 问题内容: 在通过MySQL数据库使用hibernate和jpa的Spring MVC应用程序中,每当我尝试保存包括子实体的父实体时,都会收到有关子实体的以下错误消息: 在这里,并引用子实体的组合主键的两个部分。 如何解决此错误? 在父实体中定义实体之间的关系的方法如下: 这是在子实体中定义关系的方式: 单击此链接可以查看完整的堆栈跟踪。可以在此链接上找到实体 的完整代码。 可以在此链接上读取实体

  • 我将正则表达式模式的列表传递给以对照syslog文件进行检查。它们通常匹配IP地址和日志条目; 它只是一个模式列表,例如我正在循环中传递的部分,因此我不能传递“-v”。 更新:这发生在像这样的脚本中;

  • grep用于在文件内搜索,查看是否有任何行与给定的正则表达式匹配。然而,我有这种情况--我想编写一个将与文件名本身(而不是文件内容)匹配的正则表达式。我将从系统的根目录运行它,以找到所有与正则表达式匹配的文件。

  • 我见过类似的问题,但他们仍然没有意义,我的猿类大脑。 这里有一个例子。如果我在名为的头文件中声明了一个函数:并且在文件中声明了一个函数:。我在另一个文件(例如)中看到过这样的人,它只包含头,它只有声明(里面没有代码),而不包含带有代码的。但令我震惊的是,当他们调用中的函数时,它使用了中的代码并打印“hello”。怎么做?当我只包含了文件时,它如何打印在文件中添加的“hello”,而它只是一个声明,