#!/bin/bash #都道府県名を入力させ、それを読み取る。 echo 都道府県名を入力してください。 read todouhuken # #ゆるキャラリスト"yuruchara.txt"から入力された都道府県名のものを抽出。 grep $todouhuken yuruchara.txt > yuruchara2.txt # #"yuruchara2.txt"の内容を、得票数が多い順に並び替える。 sort -k 4,4 -n -r yuruchara2.txt > yuruchara3.txt # #都道府県名が表示される列を削除する。 cat yuruchara3.txt | awk '{ $3="" ; print $0 }' > yuruchara4.txt # #得票数、ゆるキャラ名、エントリーNoをそれぞれ分割する。 cp yuruchara4.txt yuruchara5.txt cat yuruchara4.txt | awk '{ $1="" ; print $0 }' > yuruchara6.txt cp yuruchara6.txt yuruchara7.txt cat yuruchara6.txt | awk '{ $1="" ; print $0 }' > point.txt cat yuruchara7.txt | awk '{ $2="" ; print $0 }' > yuruchara9.txt cat yuruchara5.txt | awk '{ $3="" ; print $0 }' > yuruchara8.txt cat yuruchara8.txt | awk '{ $2="" ; print $0 }' > yuruchara10.txt # #行末のカンマをそれぞれ削除する。 sed -e "s/,//" yuruchara9.txt > name.txt sed -e "s/[^0-9]//" yuruchara10.txt > number.txt # #各項目を結合する。 paste point.txt number.txt name.txt > result.txt #全国に占める都道府県の得票率を計算しておく。 A=`awk '{print sum+=$4}' yuruchara.txt | tail -1` B=`awk '{print sum+=$4}' yuruchara2.txt | tail -1` wariai=`echo "scale=1; 100*$B/$A" | bc` # #戻り値を利用して存在しない名前が入力されたときにエラーメッセージを表示させる。 C=`cat yuruchara.txt | cut -d , -f3 | grep $todouhuken` if test $? -eq 0 then echo $todouhuken内ゆるキャラランキング(全国得票数中$wariai %) #書式を揃える。 awk '{printf "位 %6dpt No.%-3d %s\n", $1, $2, $3}' result.txt|nl else echo そのような名前の都道府県は存在しません。適切な都道府県名を入力して下さい。 fi # #最後に、使用済みのテキストファイルを削除する。 rm yuruchara2.txt rm point.txt rm number.txt rm name.txt N=3 while test $N -ne 11 do rm yuruchara$N.txt N=`expr $N + 1` done