今天遇到一个问题,之前建的表需要加分区,因此需要将之前表(之前是非分区表)删除,然后重建,我已经将sql改为如下(复制了一下我的第一行的create语句):
-
CREATE TABLE IF NOT EXISTS erp.biz_allocate_order
-
CREATE TABLE IF NOT EXISTS erp.biz_allocate_order
-
(
-
xxxxxxxx
-
) 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
阅读(2476) | 评论(0) | 转发(0) |