从bash中的grep中找到一个模式,用于计算android应用程序的平均内存使用率

从bash中的grep中找到一个模式,用于计算android应用程序的平均内存使用率,android,regex,bash,shell,Android,Regex,Bash,Shell,我想得到一些android应用程序的平均内存使用率。我只想获取内存使用情况。例如,下面的脚本提供了mobile\u cep应用程序的即时内存使用情况 adb shell dumpsys meminfo|grep mobile_cep 输出为 233,328K: org.carleton.iot.mobile_cep (pid 27060 / activities) 而我对获取233328k值感兴趣。我想把这个过程重复几次,得到内存使用的平均值。我正在使用下面的脚本打印233328k值 #!/b

我想得到一些android应用程序的平均内存使用率。我只想获取内存使用情况。例如,下面的脚本提供了
mobile\u cep
应用程序的即时内存使用情况

adb shell dumpsys meminfo|grep mobile_cep

输出为

233,328K: org.carleton.iot.mobile_cep (pid 27060 / activities)
而我对获取
233328k
值感兴趣。我想把这个过程重复几次,得到内存使用的平均值。我正在使用下面的脚本打印
233328k

#!/bin/bash
counter=1
while [ $counter -le 10 ]
    do
        ((counter++))
        val1=$(adb shell dumpsys meminfo | grep mobile_cep)
        val2=$($val1 | grep -i '\d\d\d,\d\d\dK') 
        echo $val2
    done
echo  done

然而,我并没有得到预期的结果。我做错了什么?

管道连接到
sed

adb shell dumpsys meminfo | grep mobile_cep | sed 's/:.*//'
如果您能够执行
awk
脚本而不需要
grep
,那么使用
awk
也很简单:

adb shell dumpsys meminfo | awk -F'[: ]' '/mobile_cep/ { print $1 }'

$val1 | grep-i'\d\d\d\dK'
将尝试将
$val1
的值作为命令执行。
\d\d\d\dK
似乎有点过于保守。如果少于100000呢?如果是兆字节而不是千字节呢?@Biffen:你说得对,这种模式并不适用于所有情况。然而,现在我只想让第一个命令起作用,而不是在终端中使用第二个命令