Buscando literal "> \" usando ack-grep

Buscando literal "> \" usando ack-grep

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

Pensé que escapar permitiría esto, y en mayor medida de lo que lo hace:

  $ reconocimiento-grep "\> "

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

Pero cuando intento escapar de la barra invertida también obtengo:

  $ reconocimiento-grep "\> \\"

ack-grep: expresión regular no válida '\> \':
final \ en expresión regular m/\> /

Respuesta1

Vaya, estuve 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.

Respuesta2

Esto también funciona:

$ ack-grep '> \\'

y también lo hace:

$ ack-grep "> \\\\"

No es necesario escapar del mayor que.

Respuesta3

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

ack-grep --literal '> \'

Respuesta4

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

información relacionada