tail -va file unter Ausschluss einer Liste von Wörtern

tail -va file unter Ausschluss einer Liste von Wörtern

Ich möchte eine Protokolldatei verfolgen, in die kontinuierlich geschrieben wird, möchte aber verschiedene „allgemeine“ Einträge ausschließen, damit ich nur Fehler usw. sehe, wenn sie ausgegeben werden. Ich kann eine Weiterleitung zu grep -v „Muster“ durchführen, würde aber idealerweise gerne eine Datei mit Einträgen verwenden, die übersprungen werden sollen. Irgendwelche Ideen?

Antwort1

Sie können verwenden grep -v "pattern", wie Sie gesagt haben. Aber anstatt zu patternverwenden

`cat file_with_entires_to_skip`

Denken Sie daran, die Backtics mit einzubeziehen. Ihr Befehl würde dann folgendermaßen aussehen:

tail -v FILE | grep -v "`cat FILE_WITH_ENTRIES_TO_SKIP`"

Antwort2

Mit dieser -fOption grepkönnen Sie eine Datei mit Mustern angeben (ein Muster pro Zeile). Weitere Informationen finden Sie auf der grep(1)Manpage.

Darüber hinaus unbufferdeaktiviert der auf einigen Systemen verfügbare Befehl die Ausgabepufferung, die normalerweise in Pipelines erfolgt. Das Hinzufügen des grepFilters kann andernfalls die Ausgabe Ihrer Pipeline verzögern. unbuffer(1)Weitere Informationen finden Sie auf der Manpage.

Antwort3

Mein Grep enthält eine --exclude-from=FILEOption, mit der ich Ausschlussmuster aus einer Datei hinzufügen kann. Ich habe:

my-macbook-pro:Sun America ianchesal$ grep --version
grep (GNU grep) 2.5.1

Sie könnten also Folgendes tun:

tail -f <file> | grep --exclude-from=excludes.txt

Antwort4

Versuchen Sie es mit: grep -v -f EXCLUDE_FILENAME_LIST TARGET_FILENAME

EXCLUDE_FILENAME_LIST = Liste der Wörter, die Sie aus Ihrer Suche entfernen möchten. TARGET_FILENAME = Die primäre Datei, die Sie entfernen möchten.

verwandte Informationen