Shell 脚本练习
【第一个】
#!/bin/bash
#每个用户的总充值和消费以及剩余。
cat yuanbao.txt |grep -v 2016 |awk '{print $3}' |awk '!a[$0]++' >user.list #把用户名去重后添加到一个文件里
cat /dev/null > all.log
while read user
do
buy=`cat yuanbao.txt |grep $user |awk '{print $7}' |awk '{sum += $1};END {print sum}'` #取出所以第7列的总值
now=`cat yuanbao.txt |grep $user |awk 'END{print $9}'` #取出每个用户第9列的最后一行的值
zong=$((buy-now)) #总充值减去剩余的
echo "用户 $user 总充值 $buy 已消费 $zong 剩余 $now" >> all.log
done < user.list
【第二个】
#!/bin/bash
#每个用户每一天的充值buy总和
cat /dev/null > day.log
#NOW=date +%Y-%m
while read user
do
for ((i=1;i<=366;i++))
do
NOW=`date +%F`
SHIJIAN=`date -d "2013-12-31 +$i day" +%Y-%m-%d`
if [ ${SHIJIAN} = ${NOW} ]; then
break
fi
cat yuanbao.txt |grep $SHIJIAN |grep $user &>/dev/null
if [ $? -eq 0 ] ; then
BUY=`cat yuanbao.txt |grep $SHIJIAN |grep $user |awk '{print $7}' |awk '{sum += $1};END {print sum}'`
echo "$SHIJIAN 账号 $user 每一天buy总 $BUY" >> day.log
fi
done
done < user.list
【第三个】
#!/bin/bash
#每个用户每个月的充值总和
cat yuanbao.txt |grep -v 2016 |awk '{print $3}' |awk '!a[$0]++' >user.list #把用户名去重后添加到一个文件里
cat /dev/null > month.log
while read user
do
for ((i=1;i<=50;i++))
do
NOW=`date +%Y-%m`
SHIJIAN=`date -d "2013-12-01 +$i month" +%Y-%m`
if [ ${SHIJIAN} = ${NOW} ]; then
break
fi
cat yuanbao.txt |grep $SHIJIAN |grep $user &>/dev/null
if [ $? -eq 0 ] ; then
BUY=`cat yuanbao.txt |grep $SHIJIAN |grep $user |awk '{print $7}' |awk '{sum += $1};END {print sum}'`
echo "$SHIJIAN 账号$user buy总和$BUY" >> month.log
fi
done
done < user.list
#cat month.log.bak | grep 'buy总和" "' > month.log
【第四个】
#!/bin/bash
#每一天所有用户的buy总和
cat /dev/null > day.log
NOW=`date +%F`
for ((i=1;i<=1000;i++))
do
SHIJIAN=`date -d "2013-12-31 +$i day" +%Y-%m-%d`
if [ ${SHIJIAN} = ${NOW} ];then
break
fi
cat yuanbao.txt |grep $SHIJIAN &>/dev/null
if [ $? -eq 0 ] ; then
ZHI=`cat yuanbao.txt |grep $SHIJIAN |awk '{print $7}' |awk '{sum += $1};END {print sum}'`
echo "$SHIJIAN daily sum $ZHI" >> day.log
fi
done
【第五个】
#!/bin/bash
#每月所有用户的充值总和
cat /dev/null > month.log
NOW=`date +%Y-%m`
for ((i=1;i<=1000;i++))
do
SHIJIAN=`date -d "2013-12-01 +$i month" +%Y-%m`
if [ ${SHIJIAN} = ${NOW} ];then
break
fi
#cat yuanbao.txt |grep $SHIJIAN &>/dev/null
#if [ $? -eq 0 ] ; then
ZHI=`cat yuanbao.txt |grep $SHIJIAN |awk '{print $7}' |awk '{sum += $1};END {print sum}'`
echo "$SHIJIAN 每月所有用户充值总和是:$ZHI" >> month.log
#fi
done
最新文章
- 微信快速开发框架(六)-- 微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github
- Linux系统下安装rz/sz命令及使用说明
- 几个简单的Makefile
- ExtJs5.1.1使用中问题集锦
- [cc150] 硬币问题
- redis数据类型(字符串)
- datazen 修改instanceid db_encryption_key
- PCB模擬設計接地的指導原則
- Android界面(1) 使用TextView实现跑马灯效果
- 短视频服务大PK,阿里云、腾讯云、又拍云、七牛云、金山云5强横向对比
- Azure cli使用arm创建多网卡虚拟机
- chrome添加扩展程序
- NLP之——Word2Vec详解
- laravel----------如何优化laravel框架
- pymysql 读取数据库没有字段
- (五)bootloader 启动 ucore os
- String对象的比较
- transaction注解分析
- 洛谷P2672 推销员
- 【POJ】1486:Sorting Slides【二分图关键边判定】