grep обратная косая черта в отрицательном просмотре назад

Я хочу найти количество вхождений XXXв моем латексном документе, которые не имеют форму команды как \XXX. Поэтому я ищу вхождения, которым не предшествует обратная косая черта.

Я попробовал следующее:

grep -c -e '(?<!\)XXX' test.tex    #result: grep: Unmatched ) or \)
grep -c -e '(?<!\\)XXX' test.tex   #result: 0
grep -c -e "(?<!\\)XXX" test.tex   #result: -bash: !\\: event not found

ни один из них не работает по назначению. На самом деле я вообще не понимаю последнее сообщение об ошибке.

Мой test.tex содержит только следующие строки

%test.tex

XXX

\XXX

Таким образом, ожидаемый результат 1.

Любые идеи?

Пс. :Я работаю в bash.

21
задан Simon 27 July 2012 в 09:27
поделиться