Ich möchte die Anzahl der Vorkommen von XXX
in meinem Latex-Dokument, die nicht in der Form eines Befehls als \XXX
sind. Daher suche ich nach Vorkommen, denen kein Backslash vorangestellt ist.Grep Backslash in negativen Lookbehind
Ich habe versucht, die folgenden:
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
keiner von ihnen wie vorgesehen. Tatsächlich verstehe ich die letzte Fehlermeldung überhaupt nicht.
Mein test.tex enthält nur die folgenden Zeilen
%test.tex
XXX
\XXX
So das erwartete Ergebnis ist 1
.
Irgendwelche Ideen?
Ps .: Ich arbeite in bash.
FYI, in Ihrem letzten Beispiel, der! in doppelten Anführungszeichen wird als Verlaufserweiterung interpretiert, aber '! \\' ist kein gültiger Ausdruck für die Verlaufserweiterung. – chepner