|
发表于 2006-4-20 18:02:00
|
显示全部楼层
下面是我写的一个脚本文件,你可以试一下:
[code:1]
#!/bin/bash
FN_SRC=$1
FN_TMP=$FN_SRC.tmp
FN_COUNT=$FN_SRC.count
CLASS_NAME=$2
COL=$3
if [ "$FN_SRC" = "" ] || [ "$CLASS_NAME" = "" ] || [ "$COL" = "" ] ; then
echo 'Must param:Data file,class name,and col index.'
exit
fi
if [ -r "$FN_SRC" ]; then
[ -f $FN_TMP ] && rm -f $FN_TMP
grep -i "$CLASS_NAME" $FN_SRC | awk '{print $'$COL'}' > $FN_TMP
TOTAL=0
COUNT=0
AVG=0
while read ITEM
do
TOTAL=`expr $TOTAL + $ITEM`
COUNT=`expr $COUNT + 1`
done < $FN_TMP
AVG=`expr $TOTAL / $COUNT`
echo -e "Total:\t$TOTAL"
echo -e "Count:\t$COUNT"
echo -e "Avg:\t$AVG"
else
echo "File $FN_SRC can't Read..."
exit
fi
[/code:1]
说明:脚本文件共有三个参数,参数1为保存数据的文件名, 参数2为要查询的班级名称,参数3为成绩所在的列.如果脚本名称为test,你可以通过(/path/test 数据文件名 班级名称 成绩所在列序号)的方式调用,例:
/path/test datafile 一班 3
数据文件各栏目之间请用tab符号隔开.[/code] |
|