#!/bin/bash #出力用のファイルを作る touch saikou.txt touch heikin.txt touch date-saikou-heikin.txt #2008年から順にファイルを読み込む i=2008 while [ $i -le 2017 ] do file=data$i.csv #年月日のあるフィールドの抜き出し n=1 check=1 until [[ $check = 0 ]] do date=`awk -F"," -v n=$n '$n == "年月日" {print "100"}' $file` if [[ $date = 100 ]] ; then awk -F"," -v n=$n '{print $n}' $file > date.txt check=0 else n=`expr $n + 1` fi done #最高気温のあるフィールドの抜き出し n=1 until [[ $check = 1 ]] do saikou=`awk -F"," -v n=$n '$n == "最高気温(℃)" {print "100"}' $file` if [[ $saikou = 100 ]] ; then awk -F"," -v n=$n '{print $n}' $file > saikou.txt check=1 else n=`expr $n + 1` fi done #平均気温のあるフィールドの抜き出し n=1 until [[ $check = 0 ]] do heikin=`awk -F"," -v n=$n '$n == "平均気温(℃)" {print "100"}' $file` if [[ $heikin = 100 ]] ; then awk -F"," -v n=$n '{print $n}' $file > heikin.txt check=0 else n=`expr $n + 1` fi done #年月日,最高気温,平均気温のファイルの結合 paste date.txt saikou.txt heikin.txt > date-saikou-heikin.txt #ヘッダーの除去 awk -F"/" -v "i=$i" '$1==i {print $0}' date-saikou-heikin.txt > datayear.txt #その年の夏日をすべて集めたファイルを作る awk '$2>=25 {print $1","$2","$3}' datayear.txt > natsubi.txt #各年の最初の夏日を集めたファイルを作る awk -F"/" 'NR==1 {print $1","$2","$3,$4}' natsubi.txt >> date.csv i=`expr $i + 1` done #年月日順に並べ替えたあと,平均気温の高い順に並べ替える sort -t"," -k 2n,2 -k 3n,3 -k 5gr,5 date.csv > sortdate.csv #位年月日度の文字の挿入 awk -F"," '{print NR"位 " $1"年"$2"月"$3"日 "$4"度"}' sortdate.csv > startnatsu.csv #完成したファイルの表示 cat startnatsu.csv #不要なファイルの削除 rm date.txt rm saikou.txt rm heikin.txt rm date-saikou-heikin.txt rm datayear.txt rm natsubi.txt rm date.csv rm sortdate.csv rm startnatsu.csv