¿Cómo combinar dos declaraciones grep y mostrar sus resultados juntos?

¿Cómo combinar dos declaraciones grep y mostrar sus resultados juntos?

Supongamos que lo hago

   grep "MyVariable = False" FormA.frm

   ... result1

   grep "MyVariable = True"  FormA.frm

   ... result2

Cómo escribir el comando grep para poder decir algo como

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

Respuesta1

Lo que realmente quieres es "O", no "Y". Si se usa "Y", entonces, lógicamente, no obtendrá líneas (a menos que la línea sea algo así como "MiVariable = False...MiVariable = Verdadero".

Utilice "grep extendido" y el operador O ( |).

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

Respuesta2

Deberías usar

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

donde la \|secuencia significa una alternativa, y los delimitadores \(y \)son para agrupar.

Respuesta3

Puedes simplemente hacer

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

Respuesta4

Para responder de otra manera a lo ya dicho...

También puede especificar varias coincidencias para grep, especificando la -eopción varias veces

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

información relacionada