linux - help - ¿Cómo puedo hacer que grep imprima las líneas debajo y arriba de cada línea coincidente?
linux grep string (3)
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
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.
Use los interruptores -A y -B (líneas medias después y líneas antes):
grep -A 1 -B 1 FAILED file.txt
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
...