Ack : указать слово для поиска

Мой поисковый запрос

ack @RequestMapping("/example_path")

и bash жалуется на

-bash: syntax error near unexpected token `('

Как я могу найти приведенный выше текст из bash самым простым способом. Все мои попытки сбежать от персонажей не принесли результатов.


person jacquard    schedule 30.01.2014    source источник
comment
@Rafa избежал вашего поиска с помощью одинарных кавычек, которые сказали bash, что вам нужны эти буквальные символы, и что вы не хотите, чтобы они расширялись. В противном случае вам нужно экранировать специальные символы: @RequestMapping\("/example_path"\).   -  person OnlineCop    schedule 30.01.2014


Ответы (1)


Попробуй это.

ack '@RequestMapping\("/example_path"\)'

Или, как предложил Энди:

ack -Q '@RequestMapping("/example_path")'
person Rafa    schedule 30.01.2014
comment
Если вы не хотите беспокоиться об экранировании всех метасимволов, вы можете сделать это: ack -Q '@RequestMapping("/example_path"). -Q говорит, что любые метасимволы, которые могут быть в моей строке, указаны в кавычках. Обратите внимание, что вам все равно придется заключать строку в кавычки из оболочки. - person Andy Lester; 16.04.2014
comment
Неплохо. Я думаю, что в конце команды, которую вы дали, отсутствует одна кавычка. Следует читать: ack -Q '@RequestMapping("/example_path")'. - person Rafa; 16.04.2014
comment
Ты прав. Жаль, что я больше не могу его редактировать. :-/ - person Andy Lester; 16.04.2014