linux regulares ¿Cómo puedo hacer que grep imprima las líneas debajo y arriba de cada línea coincidente?




ls grep (3)

Use los interruptores -A y -B (líneas medias después y líneas antes):

grep -A 1 -B 1 FAILED file.txt

Posible duplicado:
grep un archivo, pero muestra varias líneas circundantes?

Tengo que analizar un archivo muy grande y quiero usar el comando grep (o cualquier otra herramienta).

Quiero buscar en cada línea de registro la palabra FAILED , luego imprimir la línea arriba y debajo de cada línea coincidente, así como la línea correspondiente.

Por ejemplo:

id : 15
Satus : SUCCESS
Message : no problem
id : 15
Satus : FAILED
Message : connection error

Y necesito imprimir:

id : 15
Satus : FAILED
Message : connection error

Utilice la opción -B y -A

grep --help
...
-B, --before-context=NUM  print NUM lines of leading context
-A, --after-context=NUM   print NUM lines of trailing context
...

La opción -A 1 grep le dará una línea después; -B 1 te dará una línea antes; y -C 1 combina ambos para darle una línea antes y después.







grep