Respuestas:
Grep tiene las siguientes opciones que le permitirán hacer esto (y cosas por el estilo). Es posible que desee consultar la página de manual para obtener más información:
-A num Imprime las líneas numéricas del contexto final después de cada coincidencia. Vea también las opciones -B y -C.
-B num Imprime las líneas numéricas del contexto principal antes de cada coincidencia. Vea también las opciones -A y -C.
-C [num] Imprime las líneas numéricas del contexto inicial y final que rodean cada coincidencia. El valor predeterminado es 2 y es equivalente a -A 2 -B 2. Nota: no se puede dar espacio en blanco entre la opción y su argumento.
Use el -A
argumento para grep
especificar cuántas líneas más allá de la coincidencia se generarán.
Imprimir N líneas después de las líneas coincidentes
Se puede utilizar grep
con la -A n
opción de imprimir después de N líneas líneas coincidentes.
Por ejemplo:
$ cat mytext.txt
Line1
Line2
Line3
Line4
Line5
Line6
Line7
Line8
Line9
Line10
$ grep -wns Line5 mytext.txt -A 2
5:Line5
6-Line6
7-Line7
Otras opciones relacionadas:
Imprima N líneas antes de las líneas coincidentes
Con la -B n
opción puede imprimir N líneas antes de hacer coincidir las líneas.
$ grep -wns Line5 mytext.txt -B 2
3-Line3
4-Line4
5:Line5
Imprima N líneas antes y después de las líneas coincidentes
Con la -C n
opción puede imprimir N líneas antes y después de las líneas coincidentes.
$ grep -wns Line5 mytext.txt -C 2
3-Line3
4-Line4
5:Line5
6-Line6
7-Line7
awk '/regex/{p=2} p > 0 {print $0; p--}' filename
- funciona, el tuyo no.