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.