公司每个月末,都会进行巡回检查,检查服务器程序的执行情况,服务器的运行情况,包括应出账和实际出账的数目是否相等。这个时候就需要统计用户订购了多少条数,用户订购的条数就是应该出的账单的条数,所以需要写个小程序统计所有账单的条数总和,进行比较,来发现计费问题。当然有个出账条数都会入到数据库进行备份,方便客户查询和对账。于是写了个简单的SHELL脚本,源代码如下:
#/usr/bin/csh
#第一个参数为要统计文件记录数的目录
#第二个参数为过滤文件的时间,格式为YYYYMM
if [ $# -ne 2 ]
then
echo "Usage: PathName Time for example: /home/oracle/bill/Vod 201208"
exit
fi
PathName=$1
Time=$2
if [ ! -d $PathName ]
then
echo "$PathName is not dir,please check"
exit
fi
cd $PathName
if [ $? -ne 0 ]
then
echo "cd $PathName fail,please check"
exit
fi
n=0
for file in ./*${Time}*.TXT
do
while read line
do
((n=n+1))
done < $file
done
echo "Execute Success,Bill Record numbers=$n"