工作脚本处理文本

简单的使用shell,而且平时学习一下,如果不动手写的话,真是完全没有啥用啊,

所以,代码还是写出来的。


把下边的脚本代码贴出来。怕忘记了。


涉及到数据库连接,awk使用,日期函数,字符串模糊匹配。


#!/bin/bash

DIR_DATE=`date +"%Y%m%d" -d "-1 days"`
mkdir -p ~/export/$DIR_DATE

myfunc()
{
        for x in $(ls)
        do
                if [ -f "$x" ];then
                       if [[ "$x" =~ music_cgamev2_d* ]] && [[ "$x" =~ .*\.log.1.gz ]];then
                                                        #echo "$x";
                                                        zgrep "LoginGame" $x |grep "info" |awk -F" " '{print $2 ":" $3 ":" $9 ":" $10 ":" $11}' |awk -F":" '{print $1"   "$2":"$3":"$4"  "$6"    "$8"     "$10"    "}' >> ~/export/$DIR_DATE/denglu_94_$DIR_DATE.txt
                                                fi
                                                #if [[ "$x" =~ .*\.log.1.gz ]];then
                                                #       echo "$x";
                                                #fi
                elif [ -L "$x" ];then
                        echo "this is a link";
                else
                        cd "$x";
                        myfunc;
                        cd ..
                fi
        done
}

myfunc



#! /bin/bash

DATE=`date +"%Y_%-m_%-d" -d "-1 days" `
DIR_DATE=`date +"%Y%m%d" -d "-1 days"`
mkdir -p /data/cgame/$DIR_DATE
CONN_MYSQL="mysql ~~~~~"


echo "select  * from cgame_history.log_pay_$DATE;" | $CONN_MYSQL > /data/cgame/$DIR_DATE/log_pay_$DATE.txt
echo "select  * from cgame_history.log_money_$DATE;" | $CONN_MYSQL > /data/cgame/$DIR_DATE/log_money_$DATE.txt
echo "select  * from cgame_history.log_items_$DATE;" | $CONN_MYSQL > /data/cgame/$DIR_DATE/log_items_$DATE.txt
echo "select uid, name, jewel, gold, starLevel, chessCount, pay_jewel, pay_gold, FROM_UNIXTIME(traceTime-28800) from card_game.game_player order by traceTime asc;" | $CONN_MYSQL > /data/cgame/$DIR_DATE/player_$DATE.txt

echo "select uid,stone_num,FROM_UNIXTIME( day, '%Y%m%d' ) as dates from card_game.game_anchor_rank  where FROM_UNIXTIME( day, '%Y%m%d' ) =$DIR_DATE ORDER BY stone_num desc ;" | $CONN_MYSQL > /data/cgame/$DIR_DATE/anchor_rank_$DATE.txt

echo "select uid,stone_num,FROM_UNIXTIME(day, '%Y%m%d') as dates from card_game.game_player_rank where FROM_UNIXTIME(day,'%Y%m%d')=$DIR_DATE ORDER BY stone_num desc LIMIT 0,10;"|$CONN_MYSQL > /data/cgame/$DIR_DATE/user_rank_$DATE.txt



写的不好,只是实现了功能,有些东西都可以抽出来当做变量, 让代码更加可读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值