获取单个表的数据,删除单个表或将整个转储文件拆分为每个包含单个表的文件的最简单方法是什么?我通常最终会做很多vi正则表达式,但我敢打赌用awk / perl等方法可以更简单地处理这些事情.Google结果的第一页带回了一堆非工作的perl脚本.最佳答案当我需要从sql转储中提取单个表时,我使用grep,head和tail的组合.@H_403_6@
例如:@H_403_6@
@H_403_6@
grep -n "CREATE table" dump.sql
然后,它会为您提供每个的行号,因此,如果您的表位于第200行,而后一个位于第269行,我会:@H_403_6@
@H_403_6@
head -n 268 dump.sql > tophalf.sqltail -n 69 tophalf.sql > yourtable.sql
我想你可以扩展这些原则来敲除一个脚本,将每个表分成一个文件.@H_403_6@
有人想在这里做吗?@H_403_6@
另一点可能有助于启动bash循环:@H_403_6@
@H_403_6@
grep -n "CREATE table " dump.sql | tr ':`(' ' ' | awk '{print ,}'
这给你一个很好的行号和表名列表,如:@H_403_6@
@H_403_6@
200 Footable269 bartable
总结 以上是内存溢出为你收集整理的 *** 纵巨大的MySQL转储文件全部内容,希望文章能够帮你解决 *** 纵巨大的MySQL转储文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)