¿Cómo incluyo nuevas líneas en una búsqueda en menos?

16

¿Cómo puedo buscar nuevas líneas (o final de líneas) como parte de una búsqueda con menos?

Por ejemplo, me gustaría buscar length=9\n, pero no quiero simplemente buscar length==9porque eso obtendría coincidencias length=90\n.

Estoy usando GNU bash, versión 4.0.33 (1) -release (x86_64-pc-linux-gnu) en Ubuntu 9.10 (Karmic Koala)

Traté de leer el manual amigable, pero decía

/pattern

Busque en el archivo la línea N-ésima que contiene el patrón. El valor predeterminado de N es 1. El patrón es una expresión regular, como lo reconoce la biblioteca de expresiones regulares suministrada por su sistema. La búsqueda comienza en la segunda línea que se muestra (pero vea las opciones -a y -j, que cambian esto).

y no sé cómo RTFM más allá de eso.

Andrew Grimm
fuente
1
También es posible que las búsquedas ancladas a los límites de las palabras sean útiles. /\<length=9\>encontrará "length = 9" que está en cualquier parte de una línea sin coincidir con "length = 90" o "stringlength = 9". Ver man 7 regexy man greppara más.
Pausado hasta nuevo aviso.
1
Para aquellos que buscan una respuesta al título de la pregunta: no creo que puedan incluir nuevas líneas en una búsqueda en menos. Esto significa que las búsquedas multilínea en menos no parecen posibles.
drevicko

Respuestas:

11

Tu puedes hacer:

/pattern$

El patrón reemplaza pattern, pero $debe permanecer, le dice a la búsqueda que busque el patrón y luego el final de la línea.

Entonces harías:

/length=9$
Wuffers
fuente