跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

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

需求: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 MySQL(Linux)

MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。

下载#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

相关文章