模式匹配时使用bash从超过10G的sql文件中删除模式

时间:2017-01-31 15:07:16

标签: mysql linux bash

一旦字段9上的字段超过当前时间的1天,使用bash脚本从sql文件中删除模式的最佳方法是什么。我尝试使用grep或sed删除该行,但由于文件大于10G,清理需要20多分钟

data format:
INSERT INTO `table1` VALUES ('data1','data2','data3',data4,'data5',data6,data7,data8,'2016-12-14 06:22:20','data10'),('data_a1','data_a2','data_a3',data_a4,'data_a5',data_a6,data_a7,data_a8,'2017-01-31 06:26:38','data_a 10'),('data_b 1','data_b 2','data_b 3',data_b 4,'data_b 5',data_b 6,data_b 7,data_b 8,'2016-12-14 06:31:16','data_b 10')
INSERT INTO `table2` VALUES ('Tdata1','Tdata2','Tdata3',Tdata4,'Tdata5',Tdata6,Tdata7,Tdata8,'2017-01-31 06:22:20','Tdata10'),('Tdata_a1','Tdata_a2','Tdata_a3',Tdata_a4,'Tdata_a5',Tdata_a6,Tdata_a7,Tdata_a8,'2016-01-31 08:26:38','Tdata_a 10'),('Tdata_b 1','Tdata_b 2','Tdata_b 3',Tdata_b 4,'Tdata_b 5',Tdata_b 6,Tdata_b 7,Tdata_b 8,'2017-01-31 04:31:16','Tdata_b 10')

expect result:
INSERT INTO `table1` VALUES ('data_a1','data_a2','data_a3',data_a4,'data_a5',data_a6,data_a7,data_a8,'2017-01-31 06:26:38','data_a 10')
INSERT INTO `table2` VALUES ('Tdata1','Tdata2','Tdata3',Tdata4,'Tdata5',Tdata6,Tdata7,Tdata8,'2017-01-31 06:22:20','Tdata10'),('Tdata_b 1','Tdata_b 2','Tdata_b 3',Tdata_b 4,'Tdata_b 5',Tdata_b 6,Tdata_b 7,Tdata_b 8,'2017-01-31 04:31:16','Tdata_b 10')

0 个答案:

没有答案