On Thu, Jun 04, 2009 at 04:37:06PM -0000, Augusto wrote: > Prezados colegas, > > Estou desenvolvendo um script para remover linhas de diversos arquivos > gravados em um diretório, respeitando as seguintes condições: > > - Remover o bloco entre as linhas 1 e 90 (isso é válido para todos os > arquivos) > - Usei o comando abaixo e funcionou corretamente: > > sed -e '1,90d' arquivo1.html > arquivo1.tmp > > - Agora preciso remover as linhas de um bloco que começa com > <TEXTAREA><BR><BR> até o final do arquivo1.tmp (a última linha do arquivo é > </BODY></HTML>) > > - Experimentei diversas sintaxes para a remoção do bloco citado acima, mas o > sistema sempre apresenta erro de "comando desconhecido: < " > > Exemplos de um dos testes que fiz (mas não funcionaram...): > > sed -e '/<TEXTAREA><BR><BR>/,/</BODY></HTML>/d' arquivo1.tmp | more > > Já tentei colocando barras invertidas antes de cada barra de fechamento das > tags html, mas continua dando erro. > > Alguém poderia dar uma ajuda? > > Atenciosamente, > > Augusto Cesar > ------------------------------------
você esqueceu de escapar a "/" das tags html: sed -e '/<TEXTAREA><BR><BR>/,/</BODY></HTML>/d' arquivo1.tmp | more deveria ser sed -e '/<TEXTAREA><BR><BR>/,/<\/BODY><\/HTML>/d' arquivo1.tmp | more ou você troca os deleimitadores de comandos do sed para outro caractere, como por exemplo o % do info do sed: sed -e '\%<TEXTAREA><BR><BR>%,\%</BODY></HTML>\%d' arquivo1.tmp | more qualquer coisa: info sed Addresses -- "Não manejo bem as palavras Mas manipulo bem as strings." ------------------------------