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

<*> 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