2つのgrepステートメントを組み合わせて結果を一緒に表示するにはどうすればよいですか?

2つのgrepステートメントを組み合わせて結果を一緒に表示するにはどうすればよいですか?

私がやるとしましょう。

   grep "MyVariable = False" FormA.frm

   ... result1

   grep "MyVariable = True"  FormA.frm

   ... result2

次のようなことができるようにgrepコマンドをどのように書くのですか?

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

答え1

実際に欲しいのは「AND」ではなく「OR」です。 「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

関連情報