弱问一个shell编程题

弱问一个shell编程题

假设score.txt文件中保存了三个班级的学生考试成绩,请写一个shell程序计算每个班级的学生人数与平均分
假设 文件中保存的内容格式为   
班级                                       姓名                                  成绩
01/02/03                           张三                                   98

我有几个不明白的地方  怎么样将匹配的字符转化为数字赋值给一个变量用来计算
各位大侠有空帮我写一个  我初学shell  想好好参考
谢谢      
不用编程,一句awk就能解决。

既然是练习题,你自己怎么不先做一下?
做不下去再问,不是会更好一点?

有不明白的,就一个一个问,别人帮你写了答案也没用,又不是考试。      
在书上有相似的例子,好象是求跆拳道段数的统计

ljsky@lab:~$ cat score.awk
#!/bin/awk -f
BEGIN{
class["01"]
class["02"]
class["03"]
score["01"]
score["02"]
score["03"]
}
{
for( index1 in class)
{
if($1 == index1 )
{
class[index1]++
score[index1] += $3
}
}
}
END{
for( index2 in class)
{
print "class " index2 " has students: " \
class[index2] " & average score is : " score[index2]/class[index2]
}
}

ljsky@lab:~$ cat score.txt
01 st1 100
02 st2 100
01 st3 90
02 st4 90
03 st5 80
01 st6 80
ljsky@lab:~$ awk -f score.awk score.txt
class 01 has students: 3 & average score is : 90
class 02 has students: 2 & average score is : 95
class 03 has students: 1 & average score is : 80
ljsky@lab:~$      
[QUOTE=xlink]不用编程,一句awk就能解决。

既然是练习题,你自己怎么不先做一下?
做不下去再问,不是会更好一点?

有不明白的,就一个一个问,别人帮你写了答案也没用,又不是考试。[/QUOTE]
我们刚学习shell编程 不知道用什么命令 不知道awk 命令  我自己也做了一段时间 只写出来一半 所以才来问得   
谢谢你的提醒  :)
我想多仔细研究些具体的例子会有助于编程学习吧,是么?      
由于刚学  不会用awk
我自己写的一个脚本 中间有错的地方 不知道怎么改
我注释出来了 请教怎么改
谢谢各位大侠了
#!/bin/sh
#课后练习最后一题,假设score.txt文件中的考试成绩给出的格式为
# 班级 姓名 得分
# 01 张三 50

echo "lease input the class id(01/02/03) that you want to qurey:"
read classid
num=0
totalscore=0
avarage=0
grep -c $classid score.txt>temp
read num<temp ="">
rm temp
echo "the students of class $classid is : $num"
index=2
score=null
while[ "$score" != '' ] #判断score是不是为空的(截取到最后会截取一个空串??) 因为我用的是cut命令
                                #有错误 应该怎么判断呢 ??
do
cut -f(3*index) socre.txt>temp #我想做得是截取n*3个域中的数字
                                                #(根据内容格式)可是不知对不对
read score<temp ="">
rm temp
$index=`expr $index+1`
totalscore=`expr $totalscore+$score`
done
avarage=`expr $totalscore/$num`
echo "the avarage score of the student is avarage"</temp></temp>      
建议先看看置顶的几个帖子      
不明白为什么要这样写.呵呵!我不太理解.score=null
while[ "$score" != '' ] 这个地方是怎么回事啊.