如何从 ps -aux 中提取单词

how to extract word from ps -aux

当我执行命令时 ps -ef | grep yypasswd 我收到这个输出。

testacc 25124194 2512312620   0 08:00:53  pts/0  0:00 grep yypasswd

如何从这个输出词中使用命令提取"yypasswd"

ps -ef | grep -o yypasswd

来自 man grep :

-o, --only-matching Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.

请注意,您 post 的 ps 行是您 运行 的 grep 的实际过程。要排除这一点,您可以这样做:

ps -ef | grep -v grep | grep -o yypasswd

另一种搜索进程名称的方法是使用 pgrep :

pgrep -f yypasswd

pgrep 会给你匹配进程的 PID

使用:

ps -ef | grep yypasswd | awk '{print }'

或使用 pgrep

pgrep -l yypasswd | awk '{print }'

解决方案

ps -ef | grep yypasswd | awk '/yypasswd/{print $NF;}'

由于不清楚您要做什么:

如果您期望以下输出:

yypasswd

然后

ps -ef | grep yypasswd | awk '{print }'

如果你想要以下输出:

testacc 25124194 2512312620   0 08:00:53  pts/0  0:00

然后做

ps -ef | grep yypasswd |  awk '{print , , , , ,  ,}'

希望对您有所帮助。