我想在过去5分钟内得到平均负荷的四舍五入.所以这是我的命令:
uptime | awk -F, '{print $5}'|printf "%.0f\n"
Run Code Online (Sandbox Code Playgroud)
它似乎不正确,因为它总是给我0.
如果我试图在awk和printf之间使用变量作为中间,那么它是正确的
avgload=$(uptime | awk -F, '{print $5}')
printf "%.0f\n" $avgload
Run Code Online (Sandbox Code Playgroud)
我的第一次尝试有什么不对吗?
感谢致敬!
更新:
只是为了获得过去5分钟的平均负载,这是我的linux服务器(Kubuntu)的正常运行时间输出
$ uptime
13:52:19 up 29 days, 18 min, 15 users, load average: 10.02, 10.04, 9.58
在我的笔记本电脑(Ubuntu)上它是相似的
`$正常运行时间
13:53:58上3天,12:02,8个用户,平均负载:0.29,0.48,0.60`
这就是我参加第五场比赛的原因.
小智 9
正常输出的第5个逗号分隔字段不存在(至少在我的系统上),这就是为什么你不断变为零的原因.5分钟的正常运行时间是倒数第二个字段,因此可行:
uptime | awk '{printf "%.0f\n",$(NF-1)}'
Run Code Online (Sandbox Code Playgroud)