Verwenden von Modifikatoren von Perl-kompatiblem Regex (PCRE) in grep

20

Gemäß grep --helpund man grepkönnen wir die -POption verwenden, um das Muster als regulären Perl-Ausdruck (PCRE, um genau zu sein) anstelle der standardmäßigen regulären POSIX-Grundausdrücke (BRE) zu interpretieren .

In der Perl-Sprache können dem Ausdruck verschiedene Modifikatoren hinzugefügt werden, um die Musterinterpretation (in der Syntax von /pattern/modifiers) anzupassen .

Also, wie kann jemand dem regulären Perl-Ausdruck von grep Modifikatoren hinzufügen ? Ich habe einige Variationen ausprobiert, grep -P "/^got.it$/ms" [FILE]aber die Suchergebnisse waren falsch.

In Bezug auf die PCRE-Interpretation weist das Handbuch jedoch darauf hin, dass:

Dies ist sehr experimentell und grep -P warnt möglicherweise vor nicht implementierten Funktionen.

Kann es sein, dass das grep-Tool überhaupt keine Modifikatoren unterstützt ?

Übrigens ist mir aufgefallen, dass mit der -iOption, die ein Beispiel für einen Modifikator ist, ein Mustervergleich durchgeführt werden kann, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird.

Betrachtung
quelle
Crossposted: unix.stackexchange.com/questions/110875/…
Goldlöckchen

Antworten:

17

Für die Modifikatoren können imsxadlupSie (?X)die in Extended Patterns beschriebenen for verwenden :

$ echo FOO | grep -P '(?i)foo'
FOO
Florian Diesch
quelle