如何組合兩個 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

相關內容