Ich versuche, eine Protokolldatei mit tail anzuzeigen -f
und möchte alle Zeilen ausschließen, die die folgenden Zeichenfolgen enthalten:
"Nopaging the limit is"` and `"keyword to remove is"
Ich kann eine Zeichenfolge wie folgt ausschließen:
tail -f admin.log|grep -v "Nopaging the limit is"
Aber wie kann ich Zeilen ausschließen , die entweder von string1
oder string2
.
grep -v -e def -e jkl
Methode gesprochen hat, diegrep -Fv -e def -e jkl
was noch schneller ist!grep -vF $(pgrep myprocess)
-F
Übereinstimmungen durch wörtliche Zeichenfolgen (anstelle von Regex)-v
kehrt das Match um-e
ermöglicht mehrere Suchmuster (alle wörtlich und invertiert)quelle
grep -v
Instanzen als auch die künstliche Anforderung eines regulären Ausdrucks vermeidet (lässt die mehreren Zeichenfolgen in separaten Argumenten sauber angeben). Stellen Sie sich vor, Sie konstruieren diesenEine andere Möglichkeit besteht darin, eine Ausschlussliste zu erstellen. Dies ist besonders nützlich, wenn Sie eine lange Liste von Dingen haben, die ausgeschlossen werden sollen.
Fügen Sie nun hinzu, was Sie ausschließen möchten
Verwenden Sie jetzt grep, um Zeilen aus Ihrer Dateiprotokolldatei zu entfernen und nicht ausgeschlossene Informationen anzuzeigen.
quelle
-v
mit-f
(oder dass dieser noch gar nicht existierte).grep -v -f <(gen_exclusions.sh) /var/log/admin.log
quelle
quelle
Sie können reguläres grep wie folgt verwenden:
tail -f admin.log | grep -v "Nopaging the limit is\|keyword to remove is"
quelle
Die Greps können verkettet werden. Beispielsweise:
quelle