列表

详情


SHELL8. 统计所有进程占用内存大小的和

描述

假设 nowcoder.txt 内容如下:
root         2  0.0  0.0      0     0 ?        S    9月25   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        I<   9月25   0:00 [kworker/0:0H]
web       1638  1.8  1.8 6311352 612400 ?      Sl   10月16  21:52 test
web       1639  2.0  1.8 6311352 612401 ?      Sl   10月16  21:52 test
tangmiao-pc       5336   0.0  1.4  9100240 238544   ??  S     3:09下午   0:31.70 /Applications

以上内容是通过ps aux | grep -v 'RSS TTY' 命令输出到nowcoder.txt文件下面的
请你写一个脚本计算一下所有进程占用内存大小的和:




原站题解

Bash 解法, 执行用时: 2ms, 内存消耗: 408KB, 提交时间: 2021-09-10

sum=0
while read -a a
do
    sum=$(($sum+${a[5]}))

done<nowcoder.txt
    echo $sum
    
    

Bash 解法, 执行用时: 2ms, 内存消耗: 416KB, 提交时间: 2022-04-13

#!/bin/bash
sum=0
while read -a txt
do
    ((sum+=txt[5]))
done < nowcoder.txt
echo $sum

Bash 解法, 执行用时: 2ms, 内存消耗: 416KB, 提交时间: 2022-02-03

sum=0
while read -a txt
do
    ((sum+=txt[5]))
done < nowcoder.txt
echo $sum

Bash 解法, 执行用时: 2ms, 内存消耗: 420KB, 提交时间: 2022-01-27

sum=0
while read -a p
do
    ((sum+=p[5]))
done
echo $sum

Bash 解法, 执行用时: 2ms, 内存消耗: 420KB, 提交时间: 2022-01-25

#!./bin/bash
# 统计所有进程占用内存大小的和
sum=0;
while read p
do
    arr=($p)
    ((sum+=arr[5]))
done <nowcoder.txt
echo $sum

上一题