¿Hay alguna manera, usando grep, de generar la línea que cae en un número específico de líneas después de que se encuentra la coincidencia? Por ejemplo, quiero generar la línea con una coincidencia, la octava línea después de la coincidencia y la 17ª línea después de la coincidencia. es posible?
Sé que puedo generar las siguientes 17 líneas usando grep -A17
, pero quiero saber si puedo obtener la línea útil sin todo lo intermedio.
Respuesta1
Pruebe la tubería aawk blah | grep stuff -A17 | awk "NR==1{print} NR==8{print} NR==17{print;exit}"
Esto generará solo las líneas 1, 8 y 17.
Si desea incluir patrones repetidos, puede utilizar el operador mod (%)
awk "(NR-1)%17 == 0{print} (NR-8)%17 == 0{print} (NR-17)%17 == 0{print}"