grep: ¿por qué los corchetes en el patrón grep eliminan el proceso grep de los resultados ps?


Respuestas:


20

Cuando ejecuta ps -ef | grep string, grep se muestra en la salida porque stringcoincide [...] grep string.

Pero, cuando ejecuta ps -ef | grep [s]tringla línea no se muestra, porque grep se traduce [s]tringen string, mientras que las salidas ps [...] grep [s]tring, y eso no coincidestring


1
... porque []representa cualquiera de los caracteres dentro de los corchetes de los cuales, en este caso, "s" es el único ...
— Pausado hasta nuevo aviso.

sí ... Realmente tuve problemas para tratar de explicar esto en inglés ... no es mi primer idioma :)
— Stefan

2

Debido a que los corchetes deben escaparse, para bash una vez y para grep nuevamente:

$ ps -ef | grep \\[X\\]XXX

[...] XXXX
[...] grep XXXX


$ ps -ef | grep "\[X\]XXX"

[...] XXXX
[...] grep XXXX
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.