27.5.4 所属毎のアクセス数を数える

教育用計算機システムのユーザは所属毎に頭文字が決まっています. これを利用してどの所属の人へのアクセスが多いのかを調べてみましょう. shozoku.awk という名前で以下のプログラムを作ってください.

/~a/{ access["a"]++; }
/~c/{ access["c"]++; }
/~e/{ access["e"]++; }
/~g/{ access["g"]++; }
/~j/{ access["j"]++; }
/~l/{ access["l"]++; }
/~m/{ access["m"]++; }
/~n/{ access["n"]++; }
/~p/{ access["p"]++; }
/~s/{ access["s"]++; }
/~t/{ access["t"]++; }
/~u/{ access["u"]++; }

END{
    print "a(農学部) \t\t: " access["a"];
    print "c(教養学部) \t: " access["c"];
    print "e(経済学部) \t: " access["e"];
    print "g(教養学部) \t: " access["g"];
    print "j(法学部) \t\t: " access["j"];
    print "l(文学部) \t\t: " access["l"];
    print "m(医学部) \t\t: " access["m"];
    print "n(数理科学研究科) \t: " access["n"];
    print "p(教育学部) \t: " access["p"];
    print "s(理学部) \t\t: " access["s"];
    print "t(工学部) \t\t: " access["t"];
    print "u(その他) \t\t: " access["u"];
}

このプログラムを実行すると, 次のようになります.

promptawk -f shozoku.awk 24Mar return2 a(農学部) : 3238 c(教養学部) : 4358 e(経済学部) : 1818 g(教養学部) : 39296 j(法学部) : 7227 l(文学部) : 3552 m(医学部) : 3725 n(数理科学研究科) : 460 p(教育学部) : 357 s(理学部) : 18744 t(工学部) : 26680 u(その他) : 99

プログラムの解説

練習