Ano*_*ous 4 command-line regex process
允许通过正则表达式元字符过滤器过滤进程的命令是什么?
例如,如果我想过滤掉以字母Aor开头的所有进程a,我将如何[Aa]$在整体命令中实现?
命令是pgrep.
查找所有以Aor开头的进程a,只有PID:
pgrep '^[Aa]'
Run Code Online (Sandbox Code Playgroud)
您可以使用任何 ERE(扩展正则表达式)模式。
要获取进程名称,请使用-l:
pgrep -l '^[Aa]'
Run Code Online (Sandbox Code Playgroud)
要获得完整的命令行,请使用-a:
pgrep -a '^[Aa]'
Run Code Online (Sandbox Code Playgroud)
您还可以使用该-f选项将模式与完整命令行进行匹配。
检查man pgrep。
请注意,您的正则表达式模式是错误的,正则表达式标记$匹配行尾,而不是开始,^匹配开始。所以,你的模式,[Aa]$将匹配任何进程名(或者,如果完整的命令行-f使用时)A或a在年底。
也不要使用:
ps -ef | grep ...
Run Code Online (Sandbox Code Playgroud)
这是笨拙的,并且涉及不必要的额外进程的产生,以及pgrep可以轻松完成此操作的匿名管道,并且一次性也可以。此外pgrep(和它的兄弟pkill)是专门为此目的而设计的。
| 归档时间: |
|
| 查看次数: |
5984 次 |
| 最近记录: |