如何获得以下数字的总和?在加入之前它们会成倍增加。
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(乘法,然后每行总和)
有什么想法吗?
谢谢, 拉吉
答案 0 :(得分:1)
这应该做的工作:
cat count.txt | tr \\n \+ | sed 's/$/\n/' | bc
确保文件末尾没有新行,否则你必须修改sed表达式。
答案 1 :(得分:1)
这也可以完成这项工作:
awk -F'*' '{i+=$1*$2} END{print i}' count.txt
答案 2 :(得分:0)
cat count | while read line; do echo $(($line)); done | awk '{i+=$1} END {print i}'
这是我能提出的最佳解决方案,希望有所帮助。