使用awk从’ps aux’输出获取内存使用情况
我必须使用awk解决练习.基本上我需要从’ps aux’命令检索每个用户的内存使用总量和格式,如下所示:
User Total%Mem user1 3.4% user2 1.5% 等等. 我似乎无法解决的问题是:我如何知道有多少用户登录?我怎样才能为每一个做出不同的总和呢? 谢谢 :) 解决方法
你不需要知道任何这些.您需要知道的是:
>您具有每行中具有相同列数的列式输出. ps aux | awk 'NR != 1 {x[$1] += $4} END{ for(z in x) {print z,x[z]"%"}}' 我将输入传递给awk,然后我告诉它跳过第1行(NR!= 1).然后对于每一行,它用英语读取如下:
当Awk为每一行完成此操作时,它会运行“END”块中的代码,该块表示打印出每个用户名(x中的z),以及与该用户关联的最终聚合值(x [z]),后跟一个“%”. 如果要逐行查看它,可以使用相同的基本规则,但在处理每一行后而不是在“END”中添加打印: ps aux | awk 'NR != 1 {x[$1] += $4; print $1,x[$1]}' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |