Frage Warum einen einzelnen Buchstaben in einem Grep Regex?


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

grep [f]oobar

Aber ich verstehe nicht, warum das vorzuziehen ist

grep foobar

18
2017-08-22 19:40


Ursprung


Hmm .. Ich dachte, es soll die Anzahl der Zeichen innerhalb der [] übereinstimmen. Wenn es nur ein einzelnes Zeichen ist, könnte es einfach nur kompliziert aussehen :) Vielleicht ist da noch etwas anderes. - Chida
Etwas so Einfaches kann so schön sein - Chida


Antworten:


Es gibt keinen Grund, die eigene Syntax vorzuziehen. Es wird manchmal als ein Hack verwendet, wenn man für einen Prozess "gräbt" (z. B. ps aux | grep [a]pache). Die Verwendung dieser Syntax verhindert, dass grep der eigenen Befehlszeile in der Prozessliste entspricht.

Sehen Wie verhindert man, dass "ps" seinen eigenen Prozess meldet?


32
2017-08-22 19:44



Das ist das einzige gängige Beispiel für diese Syntax, mit der ich vertraut bin. - ewwhite
Tatsächlich hast du recht. Die letzten paar Beispiele, die ich gesehen habe, waren von einem "ps-Ausschluss" - hortitude