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

これも仕事をします:

awk -F'*' '{i+=$1*$2} END{print i}' count.txt
于 2012-05-15T21:51:33.393 に答える
1

これは仕事をするはずです:

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

ファイルの最後に新しい行がないことを確認してください。それ以外の場合は、sed 式を変更する必要があります。

于 2012-05-15T21:39:59.427 に答える
0
cat count | while read line; do echo $(($line)); done | awk '{i+=$1} END {print i}'

これが私が思いつく最善の解決策です。お役に立てば幸いです。

于 2012-05-15T21:30:56.860 に答える