解析/格式化ps -eo etime以分钟为单位?

时间:2012-12-17 17:42:12

标签: linux shell scripting

有人可以帮我解析这个输出以显示总分钟数吗?

这是命令(除了格式化之外,它按预期工作):

ps -eo pid,etime,command | grep some_process | grep -v grep | awk '{print $2}'

输出(以小时,分钟,秒为单位)

03:01:24

我需要输出看起来像:

181.40

(3小时,1分钟,24秒显示为实数)

这可能吗?非常感谢任何建议。

1 个答案:

答案 0 :(得分:2)

ps -eo pid,etime,command | grep PID | grep -v grep | awk '{print $2}' | awk -F : '{ printf("%.2f\n", $1*60+$2+($3/60)); }'

<强>编辑: 改进版本(thx @alexandernst和@Nathan):

ps -eo pid,etimes,command | grep PID | grep -v grep | awk '{printf("%.2f\n", $2/60)}'