Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1034412
  • 博文数量: 164
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1336
  • 用 户 组: 普通用户
  • 注册时间: 2016-03-11 14:13
个人简介

狂甩酷拽吊炸天

文章分类

全部博文(164)

文章存档

2023年(1)

2022年(3)

2021年(4)

2020年(17)

2019年(37)

2018年(17)

2017年(35)

2016年(50)

分类: LINUX

2019-11-08 11:13:40

今天遇到一个问题,之前建的表需要加分区,因此需要将之前表(之前是非分区表)删除,然后重建,我已经将sql改为如下(复制了一下我的第一行的create语句):

点击(此处)折叠或打开

  1. CREATE TABLE IF NOT EXISTS erp.biz_allocate_order
  2. CREATE TABLE IF NOT EXISTS erp.biz_allocate_order
  3. (
  4.     xxxxxxxx
  5. ) xxxxxxxx;
我是需要将第一行的CREATE 改 DROP, 然后在第二行的CREATE之前加一个分号,由于sql文件太多,不想靠体力一一去修改,想用一个命令一步达成

之前的记忆是用: sed -i 's/CREATE/DROP/g' sql_file.sql ,后面的g表示全局,如果替换一次就写1或者不写,但是今天实践,发现也是把我第二行的CREATE给替换掉了,网上找的帖子也千篇一律是这样写的,难道是我的系统版本问题(CentOS Linux release 7.6.1810 (Core)),后来在CentOS 6 上试了一下,原来是我记错了,正确的写法是:
 sed -i '行号s/CREATE/DROP/' sql_file.sql 


阅读(2428) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~