首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mydumper文件拆分为单独的sql文件

将mydumper文件拆分为单独的sql文件
EN

Stack Overflow用户
提问于 2015-03-21 22:15:37
回答 2查看 219关注 0票数 0

我正试图为每个SQL语句将mydumper创建的文件分割为一个单独的文件。结束分隔符是;但它是多行的。

我以为我有这个命令行:

代码语言:javascript
复制
/bin/awk 'BEGIN{RS=";"}{x="export."++i;}{print $0";"> x".sql";}' 

但结果文件没有正确终止。我的样本线少得多,效果很好。因此,我的问题是,如何用完整的行分割SQL文件?

在我的示例文件中,我重复了这个sql,一切都很好。

代码语言:javascript
复制
insert into table (field) values
    ('asdf'),
    ('asdf'),
    ('asdf'),
    ('asdf'),
    ('asdf'),
    ('asdf'),
    ('asdf'),
    ('asdf'),
    ('asdf'),
    ('asdf'),
    ('asdf'),
    ('asdf'),
    ('asdf'),
    ('end');

awk有某种记录长度限制吗?

代码语言:javascript
复制
[root@db294 TEST]# wc -l *.sql
10364 export.66.sql
10304 export.67.sql
10209 export.68.sql
10208 export.69.sql
10582 export.6.sql
10207 export.70.sql
10207 export.71.sql
 9979 export.72.sql
 9918 export.73.sql
 9918 export.74.sql
 9926 export.75.sql
 9931 export.76.sql
10061 export.77.sql
10225 export.78.sql
10209 export.79.sql
10585 export.7.sql

也许是时候重开我的骆驼书了,试试Perl和Awk

有人请为我创建标签,因为我没有1500点来创建标签。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-21 22:40:32

打开太多文件可能是个问题。尝试在写入下一个文件之前关闭前一个文件。

代码语言:javascript
复制
/bin/awk 'BEGIN{RS=";"}{close("export" i ".sql"); x="export."++i;} {print $0";"> x".sql";}' 
票数 1
EN

Stack Overflow用户

发布于 2015-03-21 23:25:18

TIMTOWTDI。其中之一可能是:

代码语言:javascript
复制
perl -0x3b -MPath::Tiny -nE 'path("export.@{[++$n]}.sql")->spew($_)' 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29188683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档