#navi(../)
* ファイル内の数値を足し算するスクリプト・bc(小数点対応) [#e1e7fca7]
ファイル内の数値を足し算するシェルスクリプトのサンプルを以下に記します。~
bcコマンドを使っているので、少数点も対応しています。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* サンプルシェルスクリプト [#a8a23769]
以下にファイル内の数値を足し算するサンプルシェルスクリプトを記します。~
** 使用方法 [#ob77c25b]
スクリプトを配置したディレクトリに移動し、以下の構文で実行します。
./plus 数値を記述したファイル
** テスト用数値ファイル(テキスト) [#j5c8abcd]
以下の数値を記述したテキストファイルを使用します。
#ref(num.txt)
sakura@hpmini:~/Desktop$ cat num.txt
1.11
2.1
3.11
4.1
5.11
6.1
7.11
8.1
9.11
10.1
** サンプルスクリプト [#s46d3dca]
サンプルのシェルスクリプトの動作については、スクリプト内のコメントを参照してください。
#ref(plus.sh)
#!/bin/bash
# 変数初期化
t=0 # 合計値
ret=0 # 終了値
if [ $# -eq 1 ]; then # 引数の確認
if [ -f $1 ]; then # ファイルの有無チェック
for i in `cat $1` # 指定ファイルを読み込みループ
do
t=`echo "$t + $i" | bc` # bcコマンドによる足し算
done
echo $t # 結果を出力
else
echo "$1 file not found." # ファイルなしメッセージ出力
ret=1
fi
else # 引数過不足エラーでUsageを出力
this=`basename $0`
echo "Usage: $this file"
ret=1
fi
exit $ret # 終了値を返却
** 実行例 [#w6c544b9]
上記の数値を記述したテキストファイルとサンプルシェルスクリプトを起動した時の出力です。
sakura@hpmini:~/Desktop$ ./plus.sh num.txt
56.05
以上、ファイル内の数値を足し算する(少数点対応)サンプルシェルスクリプトでした。
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)