A solução apresentada pelo sergio é mais simples que a minha e funciona 
perfeitamente, só colocaria mais algumas coisinhas para evitar 
probelmas, veja:
sed -i "/^suffix.*\".*\"$/ s/\".*\"$/\"dc= $var1,dc= $var2\"/" arquivo

Assim com ^suffix.*\".*\"$ já casamos a linha completa e não qualquer 
linha que tenha suffix, depois substituimos os valoes entre ""
Acho que essa é foi a melhor solução

Lawrence Waclawiak escreveu:
> Solução fresquinha vinda das aulas do Júlio.
> Para isso lembrei que existe o esquema de retrovisor para expressões 
> regulares, veja:
>
> l...@lbw-laptop:~$ cat bla
>
> wqddm
> dwddwww
> wdwd3e3e3323
> suffix "dc=my-domain, dc=com"
> drop "dc=my-domain, dc=com"
> 545454f
> hyhjuyhh
>
> l...@lbw-laptop:~$ cat bla |sed -r 
> 's/^(suffix.*)".*"$/\1"qualquecoisa,qualquercoisa"/'
> wqddm
> dwddwww
> wdwd3e3e3323
> suffix "qualquecoisa,qualquercoisa"
> drop "dc=my-domain, dc=com"
> 545454f
> hyhjuyhh
>
> Utilizei o sed com -r para habilitar o regex estendido, tudo que estiver 
> entre os () poderá ser referenciado posteriormente como \1, dessa forma 
> você pode recurerar esse valor para reescrever a linha.
> Note que nesse arquivo que criei existem 2 linhas que possuem "" mas só 
> é substituída a que começa com suffix, dessa forma vc tbm não precisa se 
> preocupar se o que tem depois do suffix são espaços ou tbs.
>
> Espero que ajude.
>
> Abraço
>
> Marcio Gil escreveu:
>   
>>> -----Original Message-----
>>> From: Luiz Guilherme Nunes Fernandes
>>>
>>> Subject: Sed não entendo
>>> Prezados,
>>>
>>> tudo jóia?
>>>
>>> me deparei com o seguinte problema que não consigo resolver.
>>>
>>> Dentro dum arquivo se encontra esta linha.
>>>
>>> suffix "dc=dc=my-domain,dc=com"
>>>
>>> Estou querendo usar o sed para trocar os valores dentro das
>>> aspas, mas não
>>> está funcionado.
>>>
>>> sed 's#^suffix* *"dc=my-domain,dc=com"#suffix
>>> "dc=xxx,dc=xxx,dc=xxx"#g'
>>>
>>> E não entendo pq não está indo.
>>> O resto do arquivo tudo que não tem aspas foi alterado.
>>>
>>> Alguém poderia me dar a solução e me explicar por que neste
>>> caso ele não altero?
>>>
>>>       
>> Já tive alguns problemas por causa de espaços serem na verdade
>> tabulações. Além disso na sua expressão regular falta um "dc=",
>> tenta assim:
>>
>> sed 's#^suffix[[:space:]]*"dc=dc=my-domain,dc=com"#suffix
>> "dc=xxx,dc=xxx,dc=xxx"#g'
>>
>>
>>     
>
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: [email protected]
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>
>   




------------------------------------

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [email protected]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [email protected]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a