#!/bin/bash conf="./name.txt" #./name.txtを変数confに代入する if [ `cat $conf|grep -x $1` ] #入力された都道府県名が./name.txtにあるとき then cat ./yuruchara.dat|awk '{ m = m + $4 } END{print m}' > ./result1 #./yuruchara.datの4列目にある得票数の総数を計算し./result1に出力する.つまり全国の得票数を求める grep -w "$1" ./yuruchara.dat|awk '{ n = n + $4 } END{print n}' > ./result2 #./yuruchara.datから指定された都道府県名のある行だけを抜き出し、その得票数の総数を計算し./result2に出力する.つまり指定された都道府県の得票数を求める read file1 < ./result1 #./result1をfile1という変数に代入する read file2 < ./result2 #./result2をfile2という変数に代入する result=`echo "scale=1; 100*$file2/$file1" | bc -l| sed 's/^\./0\./'` #[100× file2÷ file1]を小数点一桁目まで計算してその結果を変数resultに代入する echo "$1内のゆるキャラランキング(全国得票数中$result%)" #「(指定された都道府県)内のゆるキャラランキング」と表示し全国得票数中何%にあたるかを表示する grep -w "$1" ./yuruchara.dat|awk '{printf "位 %6dpt No.%-3d %s\n", $4, $1, $2}'|sort -k 4,4 -n -r|cat -b|sed -e 's/,//' #./yuruchara.datから指定された都道府県名のある行だけを抜き出し、それについてそれぞれ得票数・エントリーNo.・ゆるきゃらの名前を桁数をそろえて並び替え、順位を表示する else echo "そのような都道府県はありません。適切な都道府県名を指定してください。もしくは県(都,道,府)まで入力してください。" #入力された都道府県名が./nameにないときは「そのような都道府県は〜」とエラー表示する fi rm -r result1 rm -r result2 #得票数を出力するのに作成したディレクトリを削除する