Tôi đã đọc trên stackoverflow về việc sử dụng sed
để trích xuất dữ liệu từ bãi sql, chính xác hơn, mục đích cuối cùng là trích xuất chèn cho một bảng cụ thể để chỉ khôi phục cái bàn kia.Trích xuất chèn sql với sed, cắt dòng
Tôi đang sử dụng này:
sed -n '/LOCK TABLES `TABLE_NAME`/,/UNLOCK TABLES/p' dump.sql > output.sql
Vấn đề mà tôi đang gặp là chúng ta có chèn trên 1 dòng đó có hơn 50Mb dài, do đó khi giải nén chèn, sản lượng bị cắt giảm trước Cuối con đường. thích:
......
(4
3458,'0Y25565137SEOEJ','001','PREPAR',1330525937741,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(43459,'666
Tôi cố gắng để sử dụng awk
và thậm chí đơn giản grep
và kết quả là như nhau, dòng bị cắt.
Edit: Im sử dụng này trên một bãi chứa sql từ mysql và hệ thống tôi đang làm việc trên là một CentOS 5.2
Liều 'dump.sql' đã cutted? – kev
không, bãi chứa dài 85Gb và chèn này nằm trên 10% đầu tiên của tệp. – Ikaro
Bạn đã thử điều này trên máy khác chưa? 50 MB đường dài không quá lớn. Ngay cả Cygwin cũng có thể xử lý các dòng khoảng 100 MB trên các cửa sổ. –