Pular para o conteúdo

Trabalhar com variavel no sed [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Trabalhar com variavel no sed [RESOLVIDO]

Enviado em 09/09/2015 - 16:45h

Fala galera, seguinte estou com dificuldade de trabalhar com variável usando o sed, a situação é a seguinte eu preciso busca um nome dentro de um arquivo, e abaixo realizar um insert, segue minha linha abaixo, quem puder me dar um luz ae, vlw
sed '/^# Texto/{p;s/.*/$VAR/;}' /tmp/teste-log

Responder tópico

2. Re: Trabalhar com variavel no sed [RESOLVIDO]

Enviado em 09/09/2015 - 17:50h

Use aspas normais em lugar de apóstrofos. Mas cuidado, pois nesse caso o conteúdo da variável não poderá incluir caratecres que entrem em conflito com os da sintaxe dos comandos do sed.

3. Re: Trabalhar com variavel no sed

Enviado em 09/09/2015 - 21:23h

Use aspas ou em vez de usar a barra (/), use pipe (|). Assim:

sed '|^# Texto{p;s/.*|$VAR|;}' /tmp/teste-log

A barra não reconhece variáveis com aspas unica, pipe sim.

4. Re: Trabalhar com variavel no sed

Enviado em 09/09/2015 - 21:50h

Use \\$ no lugar de apenas $ no nome da variável.
Ex: sed "s/\\$string1/\\$string2/g" e use as sugestões acima.
--
http://s.glbimg.com/po/tt/f/original/2011/10/20/a97264_w8.jpg

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

5. Trabalhar com variavel no sed

Enviado em 10/09/2015 - 10:42h


Vlw, pessoal, ajudou muito no meu caso eu estou usando funções, mas já me deu um luz do que eu tenho que fazer para resolver, pois eu vou precisar declarar uma variável de ambiente para ele reconhecer dentro do sed, vlw geral.

ficou assim "
function nomefunção {
var="Deu certo"
sed -i "/^# Texto/{p;s/.*/\\$var/;}" /tmp/teste-log
}
"

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder