您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Awk结合Shell 往MySQL表中写数据吧!

2024/3/17 5:02:05发布18次查看
需求:1、每天根据日期在test库中创建chinacache_0726(即:chinacache_日期);2、根据表结构处理日志文件13039_20100722_w3c
需求:
1、每天根据日期在test库中创建chinacache_0726(即:chinacache_日期);
2、根据表结构处理日志文件13039_20100722_w3c,并把结果插入到创建的表中; 
awk的功能不只是简单的处理一些数据而已,看了下面的代码,结合shell,你将看到不一样的awk
代码:
!/usr/bin/awk -f
#sh.awk
begin{
        date +%m%d | getline today
        cdn=chinacache
        system(/usr/local/mysql/bin/mysql -uroot -proot test -e \create table chinacache_`date +%m%d` (id int(20) not null auto_increment,code int(20),ip varchar(20),times int(20),cdn_name varchar(20),file varchar(256),url varchar(256),access_time varchar(30),primary key (id))\)
}
{
        split($4,a,:)
        b[$1 $7 $9 $11 ,a[2]:a[3]]++
}
end{
        for(i in b){
                split(i,c, )
                printf(insert into `%s` (code,ip,times,cdn_name,file,url,access_time) values ('%s','%s','%s','%s','%s','%s','%s');\n,cdn_today,c[3],c[1],b[i],cdn,c[2],c[4],c[5]);
        }

写好需求写好了代码,,下面,可以结合shell把数据插入到数据库的表中:
./sh.awk /data/log/13039_20100722_w3c |/usr/local/mysql/bin/mysql -uroot -proot test
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product