• {{ item.name }}
  • Home
  • Linux
  • Programming
    • Python
  • Life
  • Other
  • Tools
  • 投资者该如何参与优秀的区块链项目- NuLink社区圆桌会议
  • 什么是NuLink?- 项目中文社区与项目研究组成员 Rookie 对话实录
  • NuLink 融资 400 万美元用于开发隐私保护技术
  • NuLink的零知识证明介绍(1)
  • 用bitwarden_rs搭建属于自己的密码管理器
  • 修复 CentOS vps 网卡失效
  • 记录用mac给Nexus6P刷Android10的错误
  • Centos 6.8启用 TCP BBR拥塞控制算法
  • Nginx 启用HTTP2功能
  • Mac 安装adb工具
  • WordPress 默认编辑器代码按钮

Shell Scrips 练习1 多文件查询

  • iansiu
  • 2015-01-13
  • 0

conky

功能:自动生成两个文件 ,文件一以空格为分隔符 ,第一列为手机号码 ,第二列为话费金额
文件二以空格为分隔符 ,第一列为手机号码 ,第二列为流量金额,其中 ,文件一、二中的手机号码相同、并且一一对应 ,金额不同

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 ""
© 2023 laowang's blog
Theme by Wing