Warum einen einzelnen Buchstaben in einen regulären Ausdruck setzen?


19

Ich habe mehrere Fälle gesehen, in denen Leute dies tun:

grep [f]oobar

Aber ich verstehe nicht, warum das vorzuziehen ist

grep foobar

Hmm .. Ich dachte, es soll eine Reihe von Zeichen innerhalb der [] entsprechen. Wenn es sich nur um ein einzelnes Zeichen handelt, kann es auch sein, dass es kompliziert aussieht :) Vielleicht steckt noch mehr dahinter.
— Chida

So etwas Einfaches kann so schön sein
— Chida

Antworten:


33

Es gibt keinen Grund, der für sich allein die bevorzugte Syntax darstellt. Es wird manchmal als Hack verwendet, wenn nach einem Prozess "gegriffen" wird (z ps aux | grep [a]pache. B. ). Die Verwendung dieser Syntax verhindert, dass grep mit seiner eigenen Befehlszeile in der Prozessliste übereinstimmt.

Siehe So verhindern Sie, dass "ps" seinen eigenen Prozess meldet


4
Dies ist das einzige verbreitete Beispiel für diese mir vertraute Syntax.
— Ewwhite

Tatsächlich hast du recht. Die letzten Beispiele, auf die ich
— gestoßen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.