|
发表于 2005-12-31 17:42:11
|
显示全部楼层
本人水平有限,做的不好请见谅,另外求多少行也没记住,只写了求合,程序也没优化,做的老麻烦了,下边是我的程序
#!/bin/bash
sum=0
pingjun=0
cona=0
conb=0
conc=0
cond=0
cone=0
fun(){
sum=`expr $3 + $sum`
if [ $3 -le 100 ] && [ $3 -ge 90 ]
then
key="a"
cona=`expr $cona + 1`
fi
if [ $3 -le 89 ] && [ $3 -ge 80 ]
then
key="b"
conb=`expr $conb + 1`
fi
if [ $3 -le 79 ] && [ $3 -ge 70 ]
then
key="c"
conc=`expr $conc + 1`
fi
if [ $3 -le 69 ] && [ $3 -ge 60 ]
then
key="d"
cond=`expr $cond + 1`
fi
if [ $3 -le 59 ] && [ $3 -ge 0 ]
then
key="e"
cone=`expr $cone + 1`
fi
if [ -e $1 ]
then
echo "ok"
else
echo $1 $2 $3 $key
fi
}
while read line
do
fun $line
done<$1
echo "总分数为"$sum
echo "A有"$cona "B有"$conb "C有"$conc "D有"$cond "E有"$cone
待读文件格式
张三 100 62
李四 101 78
王五 102 83
赵六 103 95
可七 104 44
hao 104 77
buhao 108 99
jiuhao 109 46
执行方法
./脚本名 待读文件
结果:
[root@localhost tt]# ./b.sh 2.txt
张三 100 62 d
李四 101 78 c
王五 102 83 b
赵六 103 95 a
可七 104 44 e
hao 104 77 c
buhao 108 99 a
jiuhao 109 46 e
总分数为584
A有2 B有1 C有2 D有1 E有2 |
|