2013-12-15 9 views
14

Ich versuche, einige Blöcke von Text herauszufiltern, die sich immer wieder in meiner Protokolldatei wiederholen. Für zB;Wie invertiere ich die Suche mit grep für mehrere Textfolgen

grep -v ("string one that I don't want" \| "string two that I don't want") file.log 

Ich versuchte mehrere Variationen davon und versuchte, die weißen Räume zu optimieren. Manchmal filtert es die erste Zeichenfolge manchmal auch nicht. Was wird das richtige Format sein, um mehr als einen Textblock mit grep herauszufiltern?

Antwort

24

können Sie -e Option mehrfach in grep verwenden, um mehrere Suchbegriffe zu überspringen:

grep -v -e "string one that I don't want" -e "string two that I don't want" file.log 

sonst regexegrep

egrep -v 'string one|string two' file.log 
+1

Sie verwenden verwenden danken. Beide Methoden funktionieren. Ich hatte versucht, diese egrep-Methode zu verwenden. Aber ich denke, ich platziere zwischen den Pfeifencharakteren. Also hat es zu der Zeit nicht funktioniert. Jetzt funktioniert es. – user2476714