小编Tho*_*sen的帖子

这个 [t]ricky 括号表达式在 grep 中是如何工作的?

我最近看到了这个单行:

$ ps -ef | grep [f]irefox 

thorsen   16730     1  1 Jun19 ?        00:27:27 /usr/lib/firefox/firefox ...
Run Code Online (Sandbox Code Playgroud)

因此,它似乎返回数据中带有“firefox”的进程列表,但忽略了 grep 进程本身,因此似乎大致相当于:

ps -ef |grep -v grep| grep firefox
Run Code Online (Sandbox Code Playgroud)

我无法理解它是如何工作的。我查看了 grep 和其他地方的手册页,但没有找到解释。

如果我运行,则使谜团更加复杂:

$ ps -ef | grep firefox  > data
$ grep [f]irefox data

thorsen   15820 28618  0 07:28 pts/1    00:00:00 grep --color=auto firefox
thorsen   16730     1  1 Jun19 ?        00:27:45 /usr/lib/firefox/firefox ....
Run Code Online (Sandbox Code Playgroud)

[t]rick 似乎停止工作了!

这里有人会知道发生了什么我敢肯定。

谢谢。

command-line bash grep

41
推荐指数
2
解决办法
3万
查看次数

标签 统计

bash ×1

command-line ×1

grep ×1