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

관련 정보