Como combinar duas instruções grep e exibir seus resultados juntos?

Como combinar duas instruções grep e exibir seus resultados juntos?

Suponha que eu faça

   grep "MyVariable = False" FormA.frm

   ... result1

   grep "MyVariable = True"  FormA.frm

   ... result2

Como escrever o comando grep para que eu possa dizer algo como

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

Responder1

O que você realmente quer é "OU", não "E". Se "AND" for usado, logicamente, você não obterá linhas (a menos que a linha seja algo como "MyVariable = False...MyVariable = True".

Use "grep estendido" e o operador OR ( |).

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

Responder2

Você deveria usar

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

onde a \|sequência significa uma alternativa, e os delimitadores \(e \)são para agrupamento.

Responder3

Você pode simplesmente fazer

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

Responder4

Para responder de outra forma além do que já foi dito...

Você também pode especificar diversas correspondências para o grep, especificando a -eopção diversas vezes

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

informação relacionada