重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

簡単に出来そうなのですが、解決方法が見つからず困っています。
数値のリストを全て足し算したいのですが、
どのようにすれば良いでしょうか?

リストは下記の様に行で数値が書かれています。
aaa.txt
------------------------
10000
20000
30000
40000
50000
------------------------

bbb.shの実行結果:150000

としたいのですが、bbb.shをどう書けば良いのか困っています。
aaa.txtは最大で50行、最小で20行程度です。
5分に1回値が変更されます。

whileでlistを使用するという想像は出来るのですが、
足し算の仕方が解りません。
初歩的な質問で恐縮ですが、ご教授頂けないでしょうか?

よろしくお願いします。

A 回答 (1件)

下記のような感じ。



○シェルスクリプト
% cat bbb.sh
#!/bin/sh

sum=0
n=0

while read n
do
sum=`expr $sum + $n`
done < aaa.txt

echo $sum

%./bbb.sh
150000

○awk
% awk 'BEGIN{sum=0}{sum=sum+$1}END{print sum}' aaa.txt
150000
    • good
    • 2
この回答へのお礼

頂いた方法で解決出来ました!ありがとうございます!
awkでも出来るんですね。勉強になりました。
本当に助かりました。

お礼日時:2008/10/06 18:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!