從庫dump文件中分離出或去除某個表的數據

以去除一個庫dump文件中task_log表數據爲例:
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 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章