¿Cómo puedo hacer que grep imprima las líneas debajo y encima de cada línea coincidente? [duplicar]
Quiero buscar la palabra en cada línea FAILED
y luego imprimir la línea encima y debajo de cada línea coincidente, así como la línea coincidente.
Aporte:
id : 15
Status : SUCCESS
Message : no problem
id : 15
Status : FAILED
Message : connection error
Salida deseada para grep 'FAILED'
:
id : 15
Status : FAILED
Message : connection error
Aceptado
La opción de grep -A 1
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, -1
hace lo mismo.
Utilice la opción -B, -A o -C
grep --help
...
-B, --before-context=NUM print NUM lines of leading context
-A, --after-context=NUM print NUM lines of trailing context
-C, --context=NUM print NUM lines of output context
-NUM same as --context=NUM
...
Utilice los modificadores -A y -B (es decir, líneas posteriores y líneas anteriores):
grep -A 1 -B 1 FAILED file.txt