shell-script-pt
[Top][All Lists]
Advanced

[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]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]