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
