【发布时间】:2017-02-17 13:24:16
【问题描述】:
我需要从top 的输出中获取特定字段。我该怎么做?
我有
top -b -n 10 -d 10
top - 05:16:04 up 24 days, 49 min, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 494 total, 1 running, 493 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 65971500k total, 4028640k used, 61942860k free, 420512k buffers
Swap: 10485756k total, 0k used, 10485756k free, 1134108k cached
我需要来自top 行的time,以及来自Mem 行的used 值;在此示例中,即为 05:16:04 和 4028640k。
以下 awk 脚本为我提供时间字段:
{
for (i=1;i<NF;i++) {
if($i~/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/){
print $i
}
}
}
如何提取使用的内存?
【问题讨论】:
-
awk'{for(i=1;i
-
你的预期输出是什么?
-
嗨 Jose,我需要第一行的 05:16:04 和第三行使用的内存 4028640k 内存:对于所有实例
-
为此使用
free和uptime -
也可以用一行
grep命令实现(如果你有兴趣)