[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Remoção de um bloco de texto de um arquivo
From: |
jimmy |
Subject: |
Re: [shell-script] Remoção de um bloco de texto de um arquivo |
Date: |
Mon, 5 Jan 2009 17:08:27 -0200 |
User-agent: |
Mutt/1.4.2.3i |
bem simples essa forma, só atento para o detalhe de que a parte do
"/dominio.com.br/d" deve ser colocado fora do último "}" caso se queira
exibir na saída apenas o bloco que possui a expressão.
sed '/<VirtualHost/{:a;/<\/VirtualHost/!{N;ba;}};/dominio.com.br/!d;'
On Mon, Jan 05, 2009 at 04:43:19PM -0200, [DirectWeb] - Marcio wrote:
>
> Jimmy,
>
>
> Eu tenho esse script pronto e utilizo essa linha do sed:
>
>
> sed "/<VirtualHost/{:a;/<\/VirtualHost/!{N;ba;};/dominio.com.br/d;}"
>
>
>
> []s
>
>
> Marcio
>
>
> jimmy escreveu:
> > On Mon, Jan 05, 2009 at 12:11:18PM -0200, Renato de Oliveira Diogo wrote:
> >
> >> Senhores, bom dia
> >>
> >> estou desenvolvendo um script que tem o intuito de remover um bloco de
> >> texto. Um exemplo do arquivo abaixo:
> >> ===
> >> <VirtualHost *:80>
> >> ServerAdmin address@hidden
> >> DocumentRoot /var/www/vhosts/dominio.com.br/httpdocs
> >> ServerName www.dominio.com.br
> >> ServerAlias dominio.com.br
> >> ErrorLog /var/www/vhosts/dominio.com.br/statistics/logs/error_log
> >> CustomLog /var/www/vhosts/dominio.com.br/statistics/logs/access_log
> >> common
> >> CBandUser dominio
> >> ...
> >> ...
> >> <IfModule mod_ssl.c>
> >> SSLEngine off
> >> </IfModule>
> >> </VirtualHost>
> >>
> >> <VirtualHost *:80>
> >> ServerName subdominio.dominio.com.br
> >> ServerAdmin address@hidden
> >> DocumentRoot
> >> /var/www/vhosts/dominio.com.br/subdomains/subdominio/httpdocs
> >> CustomLog /var/www/vhosts/dominio.com.br/statistics/logs/access_log
> >> combined
> >> ErrorLog /var/www/vhosts/dominio.com.br/statistics/logs/error_log
> >> ...
> >> ...
> >> Options -Includes -ExecCGI
> >> </Directory>
> >> </VirtualHost>
> >> ===
> >>
> >> O bloco que preciso remover inicia com <VirtualHost *:80> e termina
> >> com seu fechamento </VirtualHost>.
> >> Porém, pode haver mais de um bloco de texto que inicia e fecha com
> >> estes. Para diferenciar, o bloco de texto deve conter "ServerName
> >> subdominio.dominio.com.br"
> >>
> >> Sei que a remoção eu teria que fazer com o sed, porém como eu pego
> >> essas linhas especificas que me complicou a vida.
> >>
> >> Alguem tem alguma ideia, que poderia me ajudar?
> >>
> >> []s
> >> ________________________________________________
> >> Renato de Oliveira Diogo
> >>
> >> Bacharel em Ciência da Computação
> >> UNESP - Bauru
> >>
> >> LPIC1 - Linux Professional Institute Certification - Nível 1
> >>
> >> address@hidden
> >> address@hidden
> >>
> >> ------------------------------------
> >>
> >
> > saudações renato,
> >
> > não entendi muito bem o que você quis dizer com "remover um bloco de
> > texto" se era para apagá-lo de dentro do arquivo ou para exibir somente
> > esse bloco na tela, de qualquer forma aí vai um script simples, espero
> > que lhe sirva:
> >
> > #!/usr/bin/sed -f
> >
> > /<VirtualHost \*:80>/ {
> > :a;
> > N;
> > /<\/VirtualHost>/ bb;
> > ba;
> > };
> > :b;
> > /ServerName subdominio\.dominio\.com\.br/!d;
> >
> > se preferir junte todas as linhas numa só e execute diretamente da linha
> > de comandos, os ";" já estão nos seus lugares.
> >
> > ------------------------------------
- Remoção de um bloco de texto de um arquivo, Renato de Oliveira Diogo, 2009/01/05
- Re: Remoção de um bloco de texto de um arquivo, marlon_mca, 2009/01/05
- Re: [shell-script] Remoção de um bloco de texto de um arquivo, jimmy, 2009/01/05
- Re: [shell-script] Remoção de um bloco de texto de um arquivo, Renato de Oliveira Diogo, 2009/01/05
- Re: [SPAM] Re: [shell-script] Remoção de um bloco de texto de um arquivo, [DirectWeb] - Marcio, 2009/01/05
- Re: [shell-script] Remoção de um bloco de texto de um arquivo,
jimmy <=
- Re: [shell-script] Remoção de um bloco de texto de um arquivo, Renato de Oliveira Diogo, 2009/01/05
- Re: [shell-script] Remoção de um bloco de texto de um arquivo, jimmy, 2009/01/06
- Re: [shell-script] Remoção de um bloco de texto de um arquivo, Renato de Oliveira Diogo, 2009/01/06
- Re: [shell-script] Remoção de um bloco de texto de um arquivo, Renato de Oliveira Diogo, 2009/01/06
- Re: [shell-script] Remoção de um bloco de texto de um arquivo, Renato de Oliveira Diogo, 2009/01/06
- Re: [shell-script] Remoção de um bloco de texto de um arquivo, jimmy, 2009/01/06
- Re: [SPAM] Re: [shell-script] Remoção de um bloco de texto de um arquivo, Renato de Oliveira Diogo, 2009/01/05