Opa... Faz o seguinte. Para delimitar a linha que vc vai colocar no começo do arquivo, usa aspas duplas. E então vc não escapa a aspas simples. Então ficaria: sed -e '1i\' -e "run { \nrestore controlfile from '/backup/PSMPRD/rman/c-1508179185-20070328-03';\nalter database mount;\ncrosscheck backup;\ndelete noprompt expired backup;" newname.txt
O problema é que ele considerava apenas como argumento do sed o trecho: 'run { \nrestore controlfile from \' Abraços Leonardo Fedalto On 4/24/07, Thiago M. Zerbinato <[EMAIL PROTECTED]> wrote: > > Pessoal, > > Pesquisei aqui na lista e consegui fazer o que queria, só surgiu um > problema, tenho um caracter especial na instrução. > > # Insere no arquivo inicio newname.txt os comandos do rman. > sed -e '1i\' -e 'run { \nrestore controlfile from > \'/backup/PSMPRD/rman/c-1508179185-20070328-03\';\nalter database > mount;\ncrosscheck backup;\ndelete noprompt expired backup;' newname.txt > > Resultado > > run { > restore controlfile from /backup/PSMPRD/rman/c-1508179185-20070328-03; > alter database mount; > crosscheck backup; > delete noprompt expired backup; > > set newname for datafile 1 to > '/oracle/oradata/PSMPRD/system.345.579699465' ; > > A linha restore tem que ficar assim > restore controlfile from '/backup/PSMPRD/rman/c-1508179185-20070328-03'; > ## Notem as aspas simples > > Valeu pessoal ! > > -- > Thiago M. Zerbinato [thiagomz] > OCP DBA > --- > http://thiagomz.hpg.com.br > > > -- Fedalto [As partes desta mensagem que não continham texto foram removidas]