如何组合两个 grep 语句并一起显示它们的结果?

如何组合两个 grep 语句并一起显示它们的结果?

假设我这样做

   grep "MyVariable = False" FormA.frm

   ... result1

   grep "MyVariable = True"  FormA.frm

   ... result2

如何编写 grep 命令,以便我可以说类似的话

   grep "MyVariable = False" OR "MyVariable = True" FormA.frm

答案1

你真正想要的是“OR”,而不是“AND”。如果使用“AND”,那么从逻辑上讲,您将不会得到任何行(除非该行类似于“MyVariable = False...MyVariable = True”。

使用“扩展 grep”和 OR 运算符 ( |)。

grep -E 'MyVariable = False|MyVariable = True' FormA.frm

答案2

你应该使用

grep "MyVariable = \(False\|True\)" FormA.frm

其中\|序列表示替代,分隔符\(\)用于分组。

答案3

你可以简单地做

grep -E "MyVariable = False|MyVariable = True" FormA.frm

答案4

用不同于已经说过的方式来回答......

您还可以通过-e多次指定选项来指定 grep 的多个匹配项

% grep -e "MyVariable = True" -e "MyVariable = False" FormA.frm
 ... result1
 ... result2

相关内容