How does ps aux | grep '[p]attern' exclude

2019-02-25 11:38发布

The title says it all. I've seen this idiom used alot instead of adding an additional grep -v grep in some ps pipeline. For example it could be used like this:

$ ps aux | grep '[f]irefox' | awk '{ print $8 }'

instead of

$ ps aux | grep 'firefox' | grep -v grep | awk '{ print $8 }'

It's super-convenient, but how does it work and why?

1条回答
叼着烟拽天下
2楼-- · 2019-02-25 12:15

The pattern [f]irefox will not match the literal string [f]irefox. Instead it will match strings with exactly one char from the 1-character class [f], followed by irefox.

查看更多
登录 后发表回答