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