以去除一个库dump文件中task_log表数据为例:
1.cat xxx.sql|grep -v task_log > abc.sql
2.abc.sql里面还残留了一些task_log创建语句的一部分.找一个task_log 表里面字段,然后用vi在abc.sql里面找到,把残留的部分删除掉就ok了.
1.cat xxx.sql|grep -v task_log > abc.sql
2.abc.sql里面还残留了一些task_log创建语句的一部分.找一个task_log 表里面字段,然后用vi在abc.sql里面找到,把残留的部分删除掉就ok了.
如果是要分理出某个表的建表和插入语句,那就将grep -v的-v参数去掉.然后把建表的东西插入进去.
另一种方法:
对于整个库的sql 压缩文件,只取其中一个表的数据:
先less base.sql.gz 搜索到紧挨着的下一个表名
zcat base.sql.gz | sed -n '/table_name/,/next_table_name/p' | grep -Ev '(table_name|next_table_name)' > task.sql
先less base.sql.gz 搜索到紧挨着的下一个表名
zcat base.sql.gz | sed -n '/table_name/,/next_table_name/p' | grep -Ev '(table_name|next_table_name)' > task.sql