Ho letto su StackOverflow sull'uso di sed
per l'estrazione di dati da dump SQL, essendo più accurato, lo scopo finale è estrarre gli inserti per una tabella specifica al fine di ripristinare solo quel tavolo.Estrazione di sql insert con sed, tagli di linea
Sto usando questo:
sed -n '/LOCK TABLES `TABLE_NAME`/,/UNLOCK TABLES/p' dump.sql > output.sql
Il problema che sto avendo è che abbiamo inserti sulla linea 1 che sono più di lungo 50Mb, così durante l'estrazione dell'inserto, l'uscita viene tagliato prima La fine della linea. piace:
......
(4
3458,'0Y25565137SEOEJ','001','PREPAR',1330525937741,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(43459,'666
ho cercato di utilizzare awk
e anche semplice grep
e il risultato è lo stesso, la linea viene tagliato.
Edit: Im usando questo su una discarica di sql da MySQL e il sistema su cui sto lavorando è una CentOS 5.2
Dose 'dump.sql' ma ho tagliato? – kev
no, il dump è lungo 85Gb e questo inserto si trova sul primo 10% del file. – Ikaro
Hai provato su un'altra macchina? Le 50 lunghe code non sono così grandi. Anche Cygwin può gestire linee di circa 100 MB su Windows. –