Awk 如何在vmstat结果中获取CPU(空闲)值
我试图在vmstat结果中获取'id'的值。 但是,我发现“id”列的位置在linux/AIX/HP等平台之间是不同的Awk 如何在vmstat结果中获取CPU(空闲)值,awk,Awk,我试图在vmstat结果中获取'id'的值。 但是,我发现“id”列的位置在linux/AIX/HP等平台之间是不同的 ## Linux procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 35268 11756
## Linux
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 35268 117568 158244 1849104 0 0 3 11321 5 2 9 15 73 3 0
所以,我想我应该找到字符串'id'并得到位置(the),然后在下一行中得到位置的值
如何使用awk脚本实现这一点?此oneliner可满足您的要求:
awk '{for(i=NF;i>0;i--)if($i=="id"){x=i;break}}END{print $x}'
首先找出
id
索引,然后在最后一行中打印相应的列。这一行可以实现您想要的功能:
awk '{for(i=NF;i>0;i--)if($i=="id"){x=i;break}}END{print $x}'
首先找出id
索引,然后在最后一行打印相应的列