Divide o arquivo SQL com vários bancos de dados nele

0

Recebi recentemente um arquivo SQL-dump, mas ele contém vários bancos de dados. Existe alguma ferramenta que eu possa usar para dividir isso facilmente em vários arquivos .sql, um por banco de dados?

    
por Sam 02.05.2018 / 17:19

1 resposta

1

Supondo que este seja um arquivo .sql de texto simples com CREATE SCHEMA ou CREATE DATABASE instruções, você pode fazer isso com split :

$ split -p 'CREATE DATABASE' bigfile.sql splitsql_

Isso criará um conjunto de novos arquivos, e. g. splitsql_aa , splitsql_ab e assim por diante, em que cada arquivo será iniciado com as instruções CREATE encontradas.

Do manual do split :

NAME
     split -- split a file into pieces
[...]
     -p pattern
             The file is split whenever an input line matches pattern,
             which is interpreted as an extended regular expression.
             The matching line will be the first line of the next
             output file.  This option is incompatible with the -b and
             -l options.
    
por 02.05.2018 / 17:33