Lê um arquivo de texto e seu conteúdo de loja em diferentes arquivos ou variáveis

0

O arquivo a ler é file.sql contendo o seguinte texto

create table temp 
(name varchar(20), id number)  
on commit reserve rows;

create table temp1  
(name varchar(20), id number) 
on commit reserve rows;

select name, id 
from temp where id=21;

Eu quero as três consultas armazenadas em três arquivos diferentes, conforme abaixo

arquivo1.sql

create table temp  
(name varchar(20), id number)  
on commit reserve rows 

arquivo2.sql

create table temp1 
(name varchar(20), id number)  
on commit reserve rows

file3.sql

select name, id 
from temp where id=21

usando scripts do ksh enquanto retém os espaços em branco

    
por anandsa 24.03.2017 / 12:05

1 resposta

0
re='create table'
csplit -s -k -f file. yourSqlFile "%^$re%" "/^$re/" '/^select name,/' '/./'
for f in file.[0][0-3]; do
   k=${f#*.0}
   mv "$f" "file$k.sql"
done
for i in {2,1,0};do
   j=$((i + 1))
   mv "file$i.sql" "file$j.sql"
done
    
por 24.03.2017 / 13:05

Tags