grep-为什么grep模式中的方括号会从ps结果中删除grep进程?


Answers:


20

运行时ps -ef | grep string,由于string匹配,因此grep显示在输出中[...] grep string

但是,运行时ps -ef | grep [s]tring不会显示该行,因为grep转换[s]tringstring,而ps输出[...] grep [s]tring,但不匹配string


1
...因为[]表示括号内的一组字符中的任何一个,在这种情况下,“ s”是唯一的一组字符...
已暂停,直到另行通知。

是的...我真的很难用英语解释这个问题...这不是我的第一语言:)
Stefan

2

因为需要放宽括号,所以一次bash一次,再一次grep一次:

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

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


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

[...] XXXX
[...] grep XXXX
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.