2

我正在使用 grep 在特定目录中搜​​索文本。我想返回包含 stringA 和 stringB 的文本行。

我知道做grep "stringA|stringB"实际上是一个 OR 语句,有什么我可以做的,也许使用正则表达式,可以让我运行一个 AND 语句?

非常感谢

4

3 回答 3

5

如果您不知道项目的顺序,您总是可以使用 | 反转模式

grep '1st pattern.*2nd pattern|2nd pattern.*1st pattern' foofile

这适用于两个项目,三个或更多肯定会开始减慢速度......

于 2012-04-18T13:23:05.013 回答
1

您可以通过两个 grep 进行管道传输:

 ... | grep "stringA" | grep "stringB"

请注意,如果您的模式实际上是固定字符串而不是正则表达式,那么您可以使用fgrep而不是grep.

于 2012-04-18T13:18:09.717 回答
0
"stringA.*stringB"

这将在 stringB 之间找到任意数量的任意字符的 stringA

于 2012-04-18T13:19:00.440 回答