Ricerca letterale "> \" usando ack-grep


9

Sto cercando linee che hanno letteralmente un carattere maggiore di (un ">") seguito da uno spazio seguito da un carattere barra rovesciata (un "\"), cioè una linea con questo:> \

Ho pensato che scappare avrebbe permesso questo, e per il più grande di quello che fa:

  $ ack-grep "\>"

restituisce le righe che contengono ">".

Ma quando provo a sfuggire anche alla barra rovesciata, ottengo:

  $ ack-grep "\> \\"

ack-grep: regex non valido '\> \':
Trailing \ in regex m / \> /

Risposte:


6

Wow, ero così vicino ... virgolette singole:

$ ack-grep '\> \\'

Capito questo dopo aver confermato che la mia partita regex era valida usando: http://regexpal.com/ e che mi è capitato di avere solo citazioni singole provando qualcos'altro.



1

Per cercare stringhe letterali, utilizzare l'opzione letterale:

ack-grep --literal '> \'

0

Si noti che il problema qui non è con ack ma con la quotazione della shell. Avresti questo problema con qualsiasi programma che stavi cercando di passare "> \" come argomento.


Sì, lo avevo saputo per primo: mpi-inf.mpg.de/~uwe/lehre/unixffb/quoting-guide.html 3.1.11 Le regole d'oro di Bourne shell citando tutto ciò che potrebbe essere maltrattato dalla shell è protetto da virgolette singole.
Stephen Gornick,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.