Dlaczego nawiasy we grep
wzorcu usuwają proces grep z ps
wyników?
$ ps -ef | grep XXXX
[...] XXXX
[...] grep XXXX
$ ps -ef | grep [X]XXX
[...] XXXX
command-line
grep
ps
Gilles „SO- przestań być zły”
źródło
źródło
Odpowiedzi:
Po uruchomieniu
ps -ef | grep string
grep jest wyświetlany na wyjściu, ponieważstring
pasuje[...] grep string
.Ale po uruchomieniu
ps -ef | grep [s]tring
linii nie jest wyświetlany, ponieważ grep przekłada[s]tring
sięstring
, natomiast wyjścia ps[...] grep [s]tring
, i że nie pasujestring
źródło
[]
reprezentuje dowolny zestaw znaków w nawiasach, w tym przypadku „s” jest jedynym…Ponieważ nawiasy klamrowe muszą być poprzedzone znakiem ucieczki, dla bash raz i dla grep:
źródło