Warum grepentfernen Klammern in einem Muster den Grep-Prozess aus den psErgebnissen?
$ ps -ef | grep XXXX
[...] XXXX
[...] grep XXXX
$ ps -ef | grep [X]XXX
[...] XXXX
Warum grepentfernen Klammern in einem Muster den Grep-Prozess aus den psErgebnissen?
$ ps -ef | grep XXXX
[...] XXXX
[...] grep XXXX
$ ps -ef | grep [X]XXX
[...] XXXX
Antworten:
Wenn Sie ausführen ps -ef | grep string, wird grep in der Ausgabe angezeigt, da stringÜbereinstimmungen vorliegen[...] grep string .
Aber, wenn Sie laufen ps -ef | grep [s]tringdie Zeile wird nicht angezeigt, da grep übersetzt [s]tringzu string, während ps Ausgänge [...] grep [s]tring, und das nicht übereinstring
[]um einen beliebigen Zeichensatz in Klammern handelt, in diesem Fall ist "s" der einzige ...
Weil die eckigen Klammern entfernt werden müssen, um einmal zu schlagen und noch einmal zu grep:
$ ps -ef | grep \\[X\\]XXX
[...] XXXX
[...] grep XXXX
$ ps -ef | grep "\[X\]XXX"
[...] XXXX
[...] grep XXXX