두 개의 grep 문을 결합하고 결과를 함께 표시하는 방법은 무엇입니까?

두 개의 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

관련 정보