[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Substituir bloco de strings
From: |
Samuel Peres |
Subject: |
Re: [shell-script] Re: Substituir bloco de strings |
Date: |
Thu, 26 May 2011 16:53:05 -0300 |
Boa tarde pessoal,
Testei as soluções do "voyeg3r", Cristiano e
Flávio. Todas me atenderam muito bem. Vou usar o esquema apresentado por
Cristiano, ou seja:
sed '/^# Dominio testando2.com.br$/,/^};$/d' arquivo
Como vou fazer a alteração através de um script, gravando no próprio
arquivo, ficou assim:
#!/bin/sh
/usr/bin/sed -i "" -e '/^# Dominio '$1'$/,/^};$/d' /caminho/arquivo
No lugar de "testando2.com.br" observem que coloquei um "$1". Dessa forma eu
executo o script passando como parâmetro o "dominioalgumacoisa.com.br"
Grato a todos pela ajuda,
2011/5/26 Sérgio <address@hidden>
>
>
> Se for pra deletar é só trocar
>
> isto
>
> sed -i.backup '/# Dominio testando2.com.br/,+5 s/.*//g'
>
> por
>
> sed -i.backup '/# Dominio testando2.com.br/,+5d'
>
> Não fiz referência ao começo de linha '^'
>
> Adoro este grupo, toda hora aprendo e compartilho conhecimentos
> é por isso que ficom com depressão se tiver que usar o sistema
> da tela azul.
>
> --- Em address@hidden, Sérgio <voyeg3r@...> escreveu
>
> >
> > Fazendo um backup com o próprio SED e já testando minha solução
> > fica assim:
> >
> > sed -i.backup '/# Dominio testando2.com.br/,+5 s/.*//g'
> >
> > Estou dizendo para o amado SED, ô meu chapa, pega a linha
> > que contiver '# Dominio testando2.com.br e mais 5 linhas
> > e troca por nada, brigado viu!
> >
> > --- Em address@hidden, Samuel Peres <samuel.peres@>
> escreveu
> > >
> > > Saudações a todos,
> > >
> > >
> > > Estou encontrando dificuldades em substituir um bloco
> > > específico de strings por espaços em branco. Para ilustrar melhor a
> minha
> > > necessidade, segue um exemplo:
> > >
> > >
> > > # cat exemplo
> > >
> > > # Dominio testando.com.br
> > > zone "testando.com.br" {
> > > type master;
> > > file "zonas/db.testando.com.br";
> > > allow-transfer { slave_3; };
> > > };
> > >
> > > # Dominio testando2.com.br
> > > zone "testando2.com.br" {
> > > type master;
> > > file "zonas/db.testando2.com.br";
> > > allow-transfer { slave_unitelecom; };
> > > };
> > >
> > > # Dominio testando3.com.br
> > > zone "testando3.com.br" {
> > > type master;
> > > file "zonas/db.testando3.com.br";
> > > allow-transfer { slave_3; };
> > > };
> > >
> > >
> > > Já tentei uma cobinação de sed e awk para remover apenas o bloco que
> começa
> > > com "# Dominio testando2.com.br" e que termina com "};" sem afetar os
> blocos
> > > que começam com "# Dominio testando.com.br" e "# Dominio
> testando3.com.br".
> > > Até agora não obtive resultados satisfatórios, por isso venho até vocês
> > > pedir ajuda. Alguma sugestão?
> > >
> > >
> > > Desde já agradeço a atenção de todos da lista,
> > >
> > >
> > > Samuel Peres
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> >
>
>
>
[As partes desta mensagem que não continham texto foram removidas]