opción "comenzar" de salida de grep

opción "comenzar" de salida de grep

¿Existe una opción para obtener el resultado de grep pero ese resultado debe comenzar con la palabra que estoy buscando? Esto es realmente difícil de explicar así que déjame darte un ejemplo aquí:

Cuando desee buscar algo en la configuración de ejecución de Cisco, usaría el siguiente comando:

mostrar configuración en ejecución | b 10.0.1.202: la salida comenzaría justo donde se mencionó 10.0.1.202 la primera vez.

Por ejemplo, tengo un archivo muy largo de dhcp.leases en mi CentOS, pero ¿cómo puedo grep | b 10.0.1.202 para que mi salida comience donde se encontró 10.0.1.202 por primera vez y el resto de la salida aparezca después de eso.

Atentamente,

Respuesta1

Grep para la dirección pero muestra una cantidad infinita de líneas de contexto (usando -Apara "líneas después", de manera similar -B"líneas antes", -C"líneas circundantes"):

cat dhcp.leases | grep -A9999999 '10\.0\.1\.202'

Aunque en tu caso tuprobablementeSolo quiero entre 10 y 20 líneas, no todo, por lo que debes especificar la cantidad deseada después -A.

Normalmente uso awk para recortar rangos específicos (por ejemplo, de la expresión regular 1 a la expresión regular 2):

cat dhcp.leases | awk '/10\.0\.1\.202/ {found=1} found {print}'
cat dhcp.leases | awk '/10\.0\.1\.202/{f=1}f'

cat somefile | awk '/^Begin:/{ok=1} ok{print} /^End:/{ok=0}'

información relacionada