[Ubuntu-PT 9735] Re: comando seed com variáveis

C de-Avillez hggdh2 ubuntu.com
Segunda-Feira, 15 de Outubro de 2012 - 17:57:48 UTC


On 15/10/12 08:00, Paulo J. S. Pinhal wrote:
> Em 12-10-2012 23:50, Luis escreveu:
>> Em 12-10-2012 23:32, Paulo J. S. Pinhal escreveu:
>>> boa noite a todos.
>>> através do comando sed, quero adicionar num ficheiro (neste caso
>>> f1.txt) uma linha após de texto (cujo conteúdo está na em
>>> $variavel) após qualquer linha que apresente, por exemplo,
>>> PALAVRA. estou usando o exemplo abaixo, mas não funciona. alguém
>>> me pode ajudar?
>>> sed '/PALAVRA/{p;s/.*/'$variavel'/;}' Comus.xml > f1.xml
>>>
>>> desde já meus agradecimentos.
>>>
>> Só uma pergunta: se o script começa com o parentesis, porque razão
>> a declaração começa com apóstrofo? Atenção, é só uma dúvida.
>>
>> Luis
>>
> E meu muito obrigado por V/ respostas.
> Sempre achei o sed com um "aspeto" muito sombrio... resolvi criar o
> programa pretendido em python. muito mais simples...
> 

Tarde, mas ainda assim:

Creio que o problema está no 'single quote' ao redor da expressão do
'sed':

[cerdea-aws]cerdea  xango3:/tmp$ export variavel="texto novo"; sed
"/PALAVRA/{p;s/.*/'$variavel'/;}" test



sd asdjasdjl alksdjalskjd
PALAVRA asdasd ad ads
'texto novo'
end
[cerdea-aws]cerdea  xango3:/tmp$

No bash, não há resolução de variáveis para o conteúdo de strings
delimitadas por single quote.

..C..



Mais informações acerca da lista ubuntu-pt