#!/bin/bash for loop in `ls kadai1_data/*.csv` #各都道府県のkadai1_dataというディレクトリ内のcsvファイルについて同じ動作を繰り返す do if [[ $loop = kadai1_data/Kobe.csv ]] || [[ $loop = kadai1_data/Kagoshima.csv ]] #入力されたファイルがkadai1_data/Kobe.csvもしくはkadai1_data/Kagoshima.csvであるか判定する then cat $loop | awk 'BEGIN { FS="," } {x+=$12} END { print x/366"℃ "}' #もしそうであれば各ファイルの12列目を取り出し1年(366日)の平均気温を計算する else cat $loop | awk 'BEGIN { FS="," } {x+=$2} END { print x/366"℃ "}' #そうでなければ各ファイルの2列目を取り出し1年(366日)の平均気温を計算する fi >> quiz1-1.1txt #ifコマンドでの実行結果をquiz1-1.1txtに追記する cut -d , -f 2 $loop | sed -n '3p' >> quiz1-2.1txt #各csvファイルにおいて、,を区切り文字とし2フィールド目を取り出してさらにその3行目を取り出し(都道府県名)、それをquiz1-2.1txtに追記する done paste quiz1-2.1txt quiz1-1.1txt > quiz1-3.1txt #quiz1-2.1txtとquiz1-1.1txtを水平方向に連結させ、それをquiz1-3.1txtとする sort -nr -k 2,2 quiz1-3.1txt > quiz1-4.1txt #quiz1-3.1txtを2項目目の数値において降順に並べ替え、それをquiz1-4.1txtとする i=1 while test $i -le 47 #以下の作業を、iを1から始めて47まで繰り返す do echo "$i"位 >> quiz1-5.1txt #i位と表示し、それをquiz1-5.1txtとする i=`expr $i + 1 ` done paste quiz1-5.1txt quiz1-4.1txt > quiz1-6.1txt #quiz1-5.1txtとquiz1-4.1txtを水平方向に連結させ、それをquiz1-6.1txtとする sed -n '1,10p' quiz1-6.1txt #quiz1-6.1txtの1行目から10行目を取り出す rm *.1txt #.1txtが名前に付いているファイルを削除する #終了