Solução fresquinha vinda das aulas do Júlio.
Para isso lembrei que existe o esquema de retrovisor para expressões
regulares, veja:
lbw@lbw-laptop:~$ cat bla
wqddm
dwddwww
wdwd3e3e3323
suffix "dc=my-domain, dc=com"
drop "dc=my-domain, dc=com"
545454f
hyhjuyhh
lbw@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: address@hidden
---------------------------------------------------------------------
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