Buscando literal "> \" usando ack-grep


9

Estoy buscando líneas que literalmente tengan un carácter mayor que (un ">") seguido de un espacio seguido de un carácter de barra diagonal inversa (un "\"), es decir, una línea con esto:> \

Pensé que escapar permitiría esto, y para mayor, que lo que hace:

  $ ack-grep "\>"

devuelve líneas que tienen ">" en ellas.

Pero cuando trato de escapar de la barra invertida también me sale:

  $ ack-grep "\> \\"

ack-grep: regex no válido '\> \':
Trailing \ en regex m / \> /

Respuestas:


6

Wow, estaba tan cerca ... comillas simples:

$ ack-grep '\> \\'

Descubrí esto después de confirmar que mi coincidencia de expresiones regulares era válida usando: http://regexpal.com/ y resultó que tenía comillas simples al intentar otra cosa.



1

Para buscar cadenas literales, use la opción literal:

ack-grep --literal '> \'

0

Tenga en cuenta que el problema aquí no es con ack sino con la cita de shell. Tendría este problema con cualquier programa que intentara pasar en "> \" como argumento.


Sí, hubiera sabido esto primero: mpi-inf.mpg.de/~uwe/lehre/unixffb/quoting-guide.html 3.1.11 Las reglas de oro de Bourne shell citando Todo lo demás que podría ser maltratado por el shell está protegido por comillas simples.
Stephen Gornick
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.