Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24576
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 35
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-24 12:25
文章分类
文章存档

2015年(1)

2014年(2)

我的朋友

分类: LINUX

2015-01-04 21:23:49

应用场景:
将2千行的sql语句comment后的部分都去掉转换成可批量执行的sql,以下为最具代表性的部分:

  1. CREATE TABLE `air_integral` (
  2.   `ID` int(32) NOT NULL,
  3.   `SCHEME` int(2) DEFAULT NULL COMMENT '方案号',
  4.   `PRODUCTINTEGRAL` double(4,2) DEFAULT NULL COMMENT '机票产品积分',
  5.   `PERSONALINTEGRAL` double(4,2) DEFAULT '0.00' COMMENT '个人会员积分比例',
  6.   `DEPTINTEGRAL` double(4,2) DEFAULT NULL COMMENT '机构会员积分比例',
  7.   `DELIVERYTODOOR` double(4,2) DEFAULT NULL COMMENT '上门配送积分比例',
  8.   `AIRPORTCATCH` double(4,2) DEFAULT NULL COMMENT '机场取票积分比例',
  9.   `NDELIVERYYROUTE` double(4,2) DEFAULT NULL COMMENT '不需送票且邮寄行程单积分比例',
  10.   `NDELIVERYNROUTE` double(4,2) DEFAULT NULL COMMENT '不需送票且无需行程单积分比例',
  11.   `NETBOOKING` double(4,2) DEFAULT NULL COMMENT '网上预定积分比例',
  12.   `PHONEBOOKING` double(4,2) DEFAULT NULL COMMENT '电话预定积分比例',
  13.   `CHASHPAY` double(4,2) DEFAULT NULL COMMENT '现金支付积分比例:',
  14.   `CARDPAY` double(4,2) DEFAULT NULL COMMENT '刷卡支付积分比例:',
  15.   `OWONMONEYPAY` double(4,2) DEFAULT NULL COMMENT '欠款支付积分比例:',
  16.   `OWONMONEYRULER` varchar(1) DEFAULT NULL COMMENT '欠款积分规则',
  17.   `OWONTIMEOUT` varchar(1) DEFAULT NULL COMMENT '欠款超时是否积分',
  18.   `CHILDINTEGRAL` varchar(1) DEFAULT NULL COMMENT '儿童积分',
  19.   `BABYINTEGRAL` varchar(1) DEFAULT NULL COMMENT '婴儿积分',
  20.   `INSURANCE` varchar(1) DEFAULT NULL COMMENT '保险积分',
  21.   `REGISTERVIP` int(4) DEFAULT NULL COMMENT '注册会员成功赠送积分分值',
  22.   `ONLYFORNETREGISTER` varchar(1) DEFAULT NULL COMMENT '只能网上注册赠送',
  23.   `PENSONVIPACTIVATE` int(4) DEFAULT NULL COMMENT '个人会员卡激活赠送分值',
  24.   `DEPTVIPACTIVATE` int(4) DEFAULT NULL COMMENT '机构会员卡激活赠送分值',
  25.   `MAILVIPACTIVATE` int(4) DEFAULT NULL COMMENT '邮件机会会员卡赠送积分分值',
  26.   `VIPLEVELSET` varchar(3) DEFAULT NULL COMMENT '会员等级升级设置',
  27.   `INOROUT` varchar(3) DEFAULT NULL COMMENT '国内和国际票积分设置标志位',
  28.   `VIPLEVEL` int(1) DEFAULT NULL COMMENT '会员等级',
  29.   `CHOSEDSCHEME` varchar(1) DEFAULT NULL COMMENT '会员等级',
  30.   PRIMARY KEY (`ID`)
  31. );
因为需要将comment后边的部分都删掉,因此处理如下:

  1. sed 's/COMMENT/|/g' test.sql |awk -F'|' '{print $1}'|sed "s/$/&,/g" |sed 's/(,/(/g;s/;,/;/g;s/,,/,/g;s/,,/,/g;s/),/(/g;s/^,//g'

阅读(1335) | 评论(0) | 转发(0) |
0

上一篇:github常用操作

下一篇:没有了

给主人留下些什么吧!~~