hohei’s diary

備忘録?

採点業務を機械的にこなす

じぶんは足し算引き算などの数値計算が致命的なレベルで苦手なので,暗算で合計点を計算することができません.そのためにいくつか工夫をして合計点を算出しているのですが,それを公開します.

ただこのやり方は,大半の人にとっては面倒なだけだと思います ω

たとえば,大問が1から5まである試験の採点をすることを考えましょう.

以下のようなcsvファイルを用意します.

f:id:hohei3108:20171010180157p:plain

表計算ソフトで開くとこんな感じ(値が大きくて0になってます).

f:id:hohei3108:20171010180151p:plain

まずは,正答なら1,誤答なら0を打ち込みます.このとき,△なら適当なアルファベットに点数を対応させます(aは1点,bは2点としています).

f:id:hohei3108:20171010180209p:plain

次に,シェルスクリプトを使って数字の間にカンマを入れます.

f:id:hohei3108:20171010180215p:plain

これを,表計算ソフトで開くと以下のようになります.

f:id:hohei3108:20171010180220p:plain

あとは,配点分だけ列をかけます.

f:id:hohei3108:20171010180225p:plain

残ったアルファベットを置換して,合計点をだせば完了です.

f:id:hohei3108:20171010180234p:plain

ちなみに以下がカンマを入れるスクリプトです.comma.sh などと名前をつけて使ってください.

#!/bin/sh

target="$1"
targetwithoutext="${1%.csv}"
echo "target: $target"
echo "targetwithoutext: $targetwithoutext"

place=`dirname $target`
echo "place of target: $place"

cat $target | env -i sed -e 's/[a-z0-9]/,&/g' | env -i sed -e 's/,,*/,/g' | env -i sed -e 's/^[ ,][ ,]*//g' > "${targetwithoutext}-comma.csv"
~ $ ./comma.sh ~/Desktop/class.csv