我正在使用 grep 在特定目录中搜索文本。我想返回包含 stringA 和 stringB 的文本行。
我知道做grep "stringA|stringB"实际上是一个 OR 语句,有什么我可以做的,也许使用正则表达式,可以让我运行一个 AND 语句?
非常感谢
如果您不知道项目的顺序,您总是可以使用 | 反转模式
grep '1st pattern.*2nd pattern|2nd pattern.*1st pattern' foofile
这适用于两个项目,三个或更多肯定会开始减慢速度......
您可以通过两个 grep 进行管道传输:
... | grep "stringA" | grep "stringB"
请注意,如果您的模式实际上是固定字符串而不是正则表达式,那么您可以使用fgrep
而不是grep
.
"stringA.*stringB"
这将在 stringB 之间找到任意数量的任意字符的 stringA