我对awk
.我想创建一个快速命令来查找父 Nodejs 进程的进程号。我想出了这个:
ps aux | awk '/node/' | awk 'NR == 1 {print $1}'
但是,我认为应该有一种方法将这两个awk
命令合并为一个命令。更紧凑的写法是什么?
编辑:
虽然pgrep
更适合这个任务,但我仍然想知道如何使用 搜索和打印第一行awk
。
答案1
您不需要对 的输出进行任何文本处理ps
,有一个专门用于此目的的工具,称为pgrep
。
只需执行以下操作:
pgrep node
node
您可以使用正则表达式模式代替字符串。
对于带有进程名称的详细输出:
pgrep -l node
也获取命令名称:
pgrep -a node
检查man pgrep
以获得更多想法。
如果您坚持使用awk
onps
并将两个awk
s 合并为一个,请执行以下操作:
ps aux | awk '/node/ {print $1; exit}'