#!/bin/bash file='kadai2_data.csv' file0='kaigyou.csv' file1='kadai2ver2.csv' file2='prefecture.txt' file3='prefecturecity.csv' #文頭のヘッダーを除外する tail -n +2 $file > $file0 #改行コードの変換 if [ "$(uname)" == "Darwin" ]; then tr -d '\n' < $file0 > $file1 ; elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then tr -d '\r' < $file0 > $file1 ; else echo $file0 > $file1 fi #県名が一致するか否かの判定 prefecture=nothing city=nothing check=0 awk -F"&" '{print $1}' $file1 > $file2 until grep -q -w "$prefecture&$city" $file1 do if [ $check -ne 0 ]; then echo "名前が一致しません" fi prefecture=nothing echo "県名を入力してください" read prefecture until grep -q -w $prefecture prefecture.txt do echo "名前が一致しません" echo "県名を入力してください" read prefecture done echo "市町村名を入力してください" read city check=1 done grep -w "$prefecture&$city" $file1 > $file3 #光害指数の表示 echo "光害指数は" awk -F"," '{print $4}' $file3 #新たにファイルを設定する file4='distance.csv' file5='100km.csv' file6='sort.csv' #指定された市町村の座標を変数として抜き出す ido=`awk -F"," '{print $2}' $file3` keido=`awk -F"," '{print $3}' $file3` #指定された市町村からの距離の算出 awk -F"," -v "ido=$ido" -v "keido=$keido" '{print $1","((30.82*($2-ido)*3600)**2+(25.11*($3-keido)*3600)**2)**0.5","$4}\ ' $file1 > $file4 #100 km以内の市町村を抜き出してソートする awk -F"," '$2 <= 100000 {print $3,$1}' $file4 > $file5 sort -g $file5 > $file6 #上位3地域の表示 echo "100km以内にある光害指数が低い場所は" awk 'NR==1,NR==3' $file6 #不要なファイルの消去 rm $file0 rm $file1 rm $file2 rm $file3 rm $file4 rm $file5 rm $file6