Cómo usar tail -f con grep para mostrar líneas circundantes


16

Me gustaría ver el resultado en un archivo de registro codificado por un solo dominio, pero también por las siguientes dos líneas .

Ejemplo:

tail -f /var/log/apache2/modsec_audit.log |grep mydomain.de

muestra todas las líneas que contienen "mydomain.de" pero la información importante está en la línea debajo de la línea, donde se incluye el dominio

Respuestas:


25

grep tiene opciones adicionales para definir cuántas líneas antes y después del resultado:

  • -A (después)
  • -B (antes de)
  • -C (contexto [antes + después])

Entonces en tu caso necesitas -A:

YOUR_COMMAND |grep -A NUMBER YOURDOMAIN

El comando anterior imprime las NUMBERlíneas después YOURDOMAINen el archivo.


Tenga en cuenta, sin embargo, que esta es una extensión de GNU. Si estás en Linux, grepdefinitivamente tienes esta opción. Si no lo eres, mejor verifica.
Leonid

9

Intente pasar varias líneas de contexto a grep.

| grep -C 5

imprimirá 5 líneas antes y después del partido.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.