一、找到www用户启动所有进程的内存数
[root@iZbp1936hi1lzkm0kl6s6bZ ~]# ps aux | grep -v root| grep www | awk '{print $4}'
二、将以上数值进行汇总,求其总和
[root@iZbp1936hi1lzkm0kl6s6bZ ~]# sum=0;\
for i in `ps aux | grep -v root| grep www | awk '{print $4}'`;\
do sum=$(echo "$sum+$i"|bc -l);done && echo $sum
备注:
shell 包含三个命令:bc、expr、let可用于数值计算。
let和expr只能对整数进行运算,无法进行浮点运算,但是bc和awk可以。
扩展:
[root@iZbp1936hi1lzkm0kl6s6bZ ~]# echo "1/13" | bc -l
.07692307692307692307
[root@iZbp1936hi1lzkm0kl6s6bZ ~]# echo "scale=3;1/13" | bc -l #scale控制小数点后面保留的位数
.076
[root@iZbp1936hi1lzkm0kl6s6bZ ~]# echo "1 13" | awk '{printf("%0.3f\n",$1/$2)}'
0.077