从文件中读取浮点数并将其添加到unix shell脚本中

时间:2013-04-25 17:31:58

标签: shell unix

我有一个文件temp.txt。浮点值存在于其中。

cat temp.txt

43.51
26.52
63.31
21.36
1.01
13.91
19.64
30.98

我想添加这些值。

请有人帮助我。

3 个答案:

答案 0 :(得分:1)

awk '{s+=$0}END{print s}' tmp.txt

kent$  echo "43.51
26.52
63.31
21.36
1.01
13.91
19.64
30.98"|awk '{s+=$0}END{print s}'
220.24

答案 1 :(得分:1)

试试这个简短的变种

paste -sd+ temp.txt|bc

答案 2 :(得分:0)

这是基于'bc'的版本:

#!/usr/bin/env bash
tally=0
while read value
do
    tally=`echo "scale=3;${value} + ${tally}" | bc`         
done < tmp.txt

tmp.txt包含:

43.51
26.52
63.31
21.36
1.01
13.91
19.64
30.98

运行输出是:

 ./script-math 
220.24

可以修改为:

#!/usr/bin/env bash
tally=0
while read value
do
    tally=`echo "scale=3;${value} + ${tally}" | bc`         
done

这样你就可以:

cat tmp.txt | ./script-math 
相关问题