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.