Чтение текстового файла и сохранение его содержимого в различные файлы или переменные

Файл для чтения - file.sql, содержащий следующий текст

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;

Я хочу, чтобы три запроса хранились в трех разных файлах, как показано ниже

file1.sql

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

file2.sql

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

file3.sql

select name, id 
from temp where id=21

используя ksh скриптинг с сохранением пробелов

0
24.03.2017, 15:03
1 ответ
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
0
28.01.2020, 04:47

Теги

Похожие вопросы