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 pattern
usar
`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 -f
opción grep
permite especificar un archivo que contenga patrones, un patrón por línea. Vea la grep(1)
página de manual.
Además, el unbuffer
comando disponible en algunos sistemas deshabilitará el almacenamiento en búfer de salida que normalmente ocurre en las tuberías. De lo contrario, agregar el grep
filtro 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=FILE
opció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