精确搜索带有两个参数的 grep

use*_*216 1 linux bash grep

如何使用两个参数执行 grep(AND 操作);查找所有包含单词成功和失败的行。

例如:

1. succeeded, failed
2. failed, succeeded
3. failed,failed
4. succeeded, succeeded
5. failed
6. faileds
7. succeeded
Run Code Online (Sandbox Code Playgroud)

我需要搜索返回包含单词“成功”和“失败”的行,如第 1、2 和 4 行

l0b*_*0b0 5

很简单的:

grep succeeded | grep failed
Run Code Online (Sandbox Code Playgroud)

或者:

grep 'succeeded.*failed\|failed.*succeeded'
Run Code Online (Sandbox Code Playgroud)

后一种方法的扩展性不是很好(最终会得到带有单词的P(N, N)子条款N),但在处理单词之间的相对位置等问题时可以更加灵活。