如何对 bash 中的一系列数字求和

How to sum a series of numbers in bash

我运行这个bash代码在Linux:

B=$(top -d 1 -b -n 9| grep $A | awk '{print }' | bc)

哪个 A 是进程 name.it 将设置为如下所示:

38.7 69.1 81.0 83.3 86.9 87.3 88.3 89.3 90.2

我想将这些数字加起来 bash.i 试过:

B=$B+$(top -d 1 -b -n 9| grep $A | awk '{print }' | bc)

但它不能正常工作。 我怎样才能得到这些数字的总和?

echo 38.7 69.1 81.0 83.3 86.9 87.3 88.3 89.3 90.2 |
    tr ' ' \n | awk '{s+=[=10=]}END{print s}'

对于您的情况,您只需将管道中的 awk 替换为:

awk '{s+=}END{print s}'