【发布时间】:2017-01-27 12:48:51
【问题描述】:
我想 grep 行包含所有 3 种不同的模式,并将它们与 2 前行和 1 下一行一起输出。
这是我可以在没有多行输出的情况下使用 grep 的命令。现在我想添加上面提到的 3 行。我可以把-A和-B放在一起吗?还是我必须使用-C?我应该把这些选项放在哪里,全部放在三个条件或第一个或最后一个?
grep -e Melon -e Banana -e Lemon *txt | grep Tomato | grep Milk
这是样本输入
Egg Tomato
Salad Coffee
Melon Tomato Milk
Noodle Salmon
Banana Potato Milk
Salmon Rice
预期输出是
Egg Tomato
Salad Coffee
Melon Tomato Milk
Noodle Salmon
【问题讨论】:
-
请包含示例
input和expected数据 -
@ Jose Ricardo Bustos M. 我添加了输入和预期输出
-
为什么
Banana Potato Milk不在预期输出中?另外,这里的逻辑是什么?您想要包含 Melon、Banan 和 Lemon 或所有这些的行吗? -
因为“grep Tomato”。我要写的命令是“(Melon or Banana or Lemon) and Tomato and Milk”番茄和牛奶都必须在行中。
-
-E选项,将 PATTERN 解释为扩展正则表达式