Sie haben nicht angegeben, welche Variante grep
Sie verwenden, es ist jedoch möglich, dass Sie sie verwenden GNU grep
. Standardmäßig grep
verwendet Basic Regular Expressions
und wie im Folgenden erläutert man grep
:
Grundlegende vs. Erweiterte reguläre Ausdrücke
In regulären Ausdrücken
verlieren die Metazeichen?, +, {, |, ( Und) ihre besondere Bedeutung. Verwenden Sie stattdessen die Backslash-
Versionen \?, +, {, \ |, (und).
Beachten Sie, dass Sie bei Verwendung -E
zu wechseln würden Extended Regular Expressions (ERE)
und verwenden müssten, \+
da standardmäßig in ERE
und viele andere reguläre Ausdrücke für Syntax +
steht one or more of the preceding character
:
$ grep -E 'A\+B' test.txt A+B A+B
Also, um deine Fragen zu beantworten:
Sie sollten verwenden,
\
wenn Sie nach einem Buchstaben suchen möchten.In
BRE
einem Punkt stehtany character
genau wie inERE
.