功能:自动生成两个文件 ,文件一以空格为分隔符 ,第一列为手机号码 ,第二列为话费金额
文件二以空格为分隔符 ,第一列为手机号码 ,第二列为流量金额,其中 ,文件一、二中的手机号码相同、并且一一对应 ,金额不同
1、打印出话费金额最大的手机号码跟话费消费金额
2、打印出流量金额最大的手机号码跟流量消费金额
3、汇总出总话费金额、总流量金额 ,并计算出各平均值
4、如果某一手机号码的话费金额超过平均值 ,那么显示 “手机号码 话费金额 平均值”
5、如果某一手机号码的流量金额超过平均值 ,那么显示 “手机号码 流量金额 平均值”
6、如果某一手机号码的话费金额、流量金额都超过平均值 ,那么显示 “手机号码 恭喜你成为 VIP”
7、将 VIP 手机号码的话费金额跟流量金额相加 ,数值最大的手机号码显示 “手机号码 恭喜你成为 VIP_P”
===========================================================================================
写这个脚本学会了很多东西,可以练习一下。
#!/bin/bash ###### Scripts Name:Count.sh ###### My Blog:http://laowang.me ###### Written:2015-01-13 ###### 统计时间 ###### begin_year_month_day=`date +%-Y年%-m月%-d日` begin_hours=`date +%-H` begin_minute=`date +%-M` begin_second=`date +%-S` ###### 初始化 ###### haoduan=(134 135 136 137 138 139 150 151 152 157 158 159 147 182 183 184 187 188 178 130 131 132 145 155 156 185 186 176 176 133 153 180 181 189 177) huafei=mobile_huafei.txt liuliang=mobile_liuliang.txt > $huafei > $liuliang ###### 生成两个文件 ###### filecount=0 while (($filecount < 3)); do for i in ${haoduan[*]}; do six=$[`date +%-N`+999999] six=`echo $six|cut -c 1-6|rev` two=`echo $RANDOM|cut -c 1-2` two=$[$two+999]|cut -c 1-2 echo $i$six$two" "$((RANDOM%50+30)).$((RANDOM%50+30)) >>$huafei echo $((RANDOM%50+30)).$((RANDOM%50+30)) >>temp1 done let "filecount++" done cut -d" " -f 1 $huafei >temp cut -d" " -f 2 $huafei >temp3 paste -d' ' temp temp1 >$liuliang paste -d' ' $liuliang temp3 >vip ###### 打印话费金额最大的手机号码跟消费金额 ###### echo "###### 话费消费金额最大的手机号码跟消费金额 ######" echo "" echo `sort -k2 $huafei|tail -1` ###### 打印流量金额最大的手机号码跟消费金额 ###### echo "" echo "###### 流量消费金额最大的手机号码跟消费金额 ######" echo "" echo `sort -k2 $liuliang|tail -1` ###### 汇总出总话费金额、总流量金额 ,并计算出各平均值 ##### echo "" echo "###### 总话费金额 总流量金额 各平均值 #####" echo "" huafeisum=`cat $huafei|awk '{sum+=$2}END{print sum}'` huafeiaverage=`cat $huafei|awk '{sum+=$2}END{print sum/NR}'` liuliangsum=`cat $liuliang|awk '{sum+=$2}END{print sum}'` liuliangaverage=`cat $liuliang|awk '{sum+=$2}END{print sum/NR}'` echo "话费消费总金额:$huafeisum" echo "话费消费平均金额:$huafeiaverage" echo "流量消费总金额:$liuliangsum" echo "流量消费平均金额:$liuliangaverage" ###### 以下手机号码话费金额超过平均值 ###### echo "" echo "###### 以下手机号码话费金额超过平均值 ######" echo "" gthhaverage=`awk 'BEGIN {FS=" "} {if($2>"'$huafeiaverage'") print $0}' $huafei` awk 'BEGIN {FS=" "} {if($2>"'$huafeiaverage'") print $0,"'$huafeiaverage'"}' $huafei ###### 以下手机号码流量金额超过平均值 ###### echo "" echo "###### 以下手机号码流量金额超过平均值 ######" echo "" gtllaverage=`awk 'BEGIN {FS=" "} {if($2>"'$liuliangaverage'") print $0}' $liuliang` awk 'BEGIN {FS=" "} {if($2>"'$liuliangaverage'") print $0,"'$liuliangaverage'"}' $liuliang echo "" ###### 手机号码恭喜你成为VIP ###### echo "" echo "###### 手机号码恭喜你成为VIP ######" echo "" vipsum=`awk 'BEGIN {FS=" "} {if($2>"'$huafeiaverage'" && $3>"'$liuliangaverage'") print $0}' vip >vipsum` awk 'BEGIN {FS=" "} {if($2>"'$huafeiaverage'" && $3>"'$liuliangaverage'") print "手机号码:",$1, "恭喜你成为VIP"}' vip ###### 手机号码恭喜你成为Super VIP ###### echo "" echo "###### 手机号码恭喜你成为Super VIP ######" echo "" supervip=`cat vipsum|awk '{sum=$2+$3;print $0,sum}'|sort -k4 -n|tail -1|cut -d" " -f1` echo "手机号码:$supervip 恭喜你成为SuperVIP" echo "" echo "###### End ######" echo "" rm -rf temp* vip* $huafei $liuliang echo "已经查询完毕!" echo "" end_year_month_day=`date +%-Y年%-m月%-d日` end_hours=`date +%-H` end_minute=`date +%-M` end_second=`date +%-S` echo "查询从 $begin_year_month_day$begin_hours:$begin_minute:$begin_second 开始,到 $end_year_month_day$end_hours:$end_minute:$end_second 结束." echo "" echo 一共耗费了 $[$end_hours-begin_hours] 小时 $[$end_minute-begin_minute] 分钟 $[$end_second-$begin_second] 秒 echo ""