Wie kombiniert man zwei Grep-Anweisungen und zeigt ihre Ergebnisse zusammen an?

Wie kombiniert man zwei Grep-Anweisungen und zeigt ihre Ergebnisse zusammen an?

Angenommen, ich tue

   grep "MyVariable = False" FormA.frm

   ... result1

   grep "MyVariable = True"  FormA.frm

   ... result2

Wie schreibe ich den Grep-Befehl, sodass ich etwas sagen kann wie

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

Antwort1

Was Sie wirklich wollen, ist „ODER“, nicht „UND“. Wenn „UND“ verwendet wird, erhalten Sie logischerweise keine Zeilen (es sei denn, die Zeile lautet etwa „MyVariable = False...MyVariable = True“.

Verwenden Sie „extended grep“ und den ODER-Operator ( |).

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

Antwort2

Du solltest benutzen

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

wobei die \|Sequenz eine Alternative bedeutet und die Trennzeichen \(und \)zur Gruppierung dienen.

Antwort3

Sie können einfach

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

Antwort4

Um anders zu antworten, als bereits gesagt wurde...

Sie können auch mehrere Übereinstimmungen für grep angeben, indem Sie die -eOption mehrmals angeben

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

verwandte Informationen