grep backslash im negativen lookbehind

Möchte ich die Anzahl der vorkommen von XXX in mein latex-Dokument, das nicht in der form eines Befehls als \XXX. Deshalb bin ich auf der Suche für Ereignisse, die nicht mit einem vorangestellten backslash.

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 arbeiten, wie beabsichtigt. In der Tat verstehe ich nicht, die Letzte Fehlermeldung überhaupt.

Meinem test.tex enthält nur die folgenden Zeilen

%test.tex

XXX

\XXX

Also das erwartete Ergebnis ist 1.

Irgendwelche Ideen?

Ps.: Ich arbeite in der bash.

  • Zur info, in deinem letzten Beispiel, der ! in doppelten Anführungszeichen interpretiert werden als eine Geschichte der expansion, aber '!\\' ist keine gültige Geschichte expansion Ausdruck.
InformationsquelleAutor Simon | 2012-07-27
Schreibe einen Kommentar