0

我怎样才能得到以下数字的总和?在被添加之前,它们正在成倍增加。

Input File (count.txt)
2*4
2*1
3*1
3*1
2*1
2*1

Command I am using:
( echo 0 ; sed 's/$/ +/' count.txt; echo p ) | dc.

我得到的总和是 343,这是不正确的。我期待20作为总和。

2*4
2*1
3*1
3*1
2*1
2*1

总和:20(每行乘法然后求和)

有任何想法吗?

谢谢,拉吉

4

3 回答 3

1

这应该做的工作:

cat count.txt | tr \\n \+ | sed 's/$/\n/' | bc

确保文件末尾没有新行,否则必须修改 sed 表达式。

于 2012-05-15T21:39:59.427 回答
1

这也将完成这项工作:

awk -F'*' '{i+=$1*$2} END{print i}' count.txt
于 2012-05-15T21:51:33.393 回答
0
cat count | while read line; do echo $(($line)); done | awk '{i+=$1} END {print i}'

这是我能想到的最好的解决方案,希望对您有所帮助。

于 2012-05-15T21:30:56.860 回答