#!/bin/bash echo "各年の開花予想日を算出します" echo "推定する最初の年を西暦で入力して下さい(例:2010-2014なら2010)" read year #yearに入力する echo "推定する最後の年を西暦で入力して下さい(例:2010-2014なら2014)" read enyear #enyearに入力する echo "${year}年から${enyear}年までの開花予想日を算出します" while [ $year -le $enyear ]; do #yearの値がenyear以下である間、次のコマンドを実行する sumi=0 #引数sumiを初期値0で宣言 tail -n +37 data${year}.csv | while read row; do #元データのヘッダ行と1月分のデータを削除したリストを出力、パイプラインで渡し、while readでデータを1行ずつ出力させる column1=`echo ${row} | cut -d , -f 1` #カンマ区切りの一列目の値(日付)をcolumn1として引数に入力 column2=`echo ${row} | cut -d , -f 2` #カンマ区切りの二列目の値(日平均気温)をcolumn2として引数に入力 sumi=`echo "$sumi + $column2" | bc -l` #sumiの値にcolumn2の値を加算する if [[ "$(echo "$sumi >= 400" | bc)" -eq 1 ]]; then #日平均気温の累積値が400以上のときに分岐 echo "${year}年の開花予想日は${column1}" #その時の日付の値を返す break 2 #ifとwhile readのループを抜ける fi done year=`expr $year + 1` #yearの値に1を加算する done