archivo tail -va excluyendo una lista de palabras

archivo tail -va excluyendo una lista de palabras

Me gustaría seguir un archivo de registro en el que se escribe continuamente, pero me gustaría excluir varias entradas que son "comunes", de modo que solo vea errores, etc., a medida que se generan. Puedo canalizar a grep -v "patrón", pero lo ideal sería usar un archivo que contenga entradas para omitir. ¿Algunas ideas?

Respuesta1

Puedes usarlo grep -v "pattern"como dijiste. Pero en lugar de patternusar

`cat file_with_entires_to_skip`

Recuerde incluir los backtics. Entonces tu comando se vería así:

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

Respuesta2

La -fopción greppermite especificar un archivo que contenga patrones, un patrón por línea. Vea la grep(1)página de manual.

Además, el unbuffercomando disponible en algunos sistemas deshabilitará el almacenamiento en búfer de salida que normalmente ocurre en las tuberías. De lo contrario, agregar el grepfiltro puede retrasar la salida de su tubería. Consulte la unbuffer(1)página de manual para obtener más detalles.

Respuesta3

Mi grep incluye una --exclude-from=FILEopción que me permite agregar patrones de exclusión desde un archivo. Tengo:

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

Entonces podrías hacer:

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

Respuesta4

Intente usar: grep -v -f EXCLUDE_FILENAME_LIST TARGET_FILENAME

EXCLUDE_FILENAME_LIST = Lista de palabras que desea eliminar de su búsqueda TARGET_FILENAME = El archivo principal que desea eliminar

información relacionada