[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Retirar bloco de texto de arquivo
From: |
Thobias Salazar Trevisan |
Subject: |
Re: [shell-script] Retirar bloco de texto de arquivo |
Date: |
Mon, 8 Mar 2004 11:15:46 -0300 (BRT) |
ae marcio,
On Mon, 8 Mar 2004, Marcio R A Garcia wrote:
> Eu tenho mais ou menos isso no Apache:
>
> <VirtualHost *>
> ServerName www.dominio.com.br
> ServerAdmin address@hidden
> DocumentRoot /var/www/dominio.com.br/estatisticas
> ErrorLog /var/log/apache-error.log
> TransferLog /var/www/dominio.com.br/logs/access.log
> </VirtualHost>
>
> <VirtualHost *>
> ServerName www.dominio1.com.br
> ServerAdmin address@hidden
> DocumentRoot /var/www/dominio1.com.br/estatisticas
> ErrorLog /var/log/apache-error.log
> TransferLog /var/www/dominio1.com.br/logs/access.log
> </VirtualHost>
>
>
> Se eu usar o código que me mandou ele vai remover todos os domínios, eu
> precisava de algo que removesse o bloco só do dominio1 p. ex.
$ cat lixo | sed \
'/<VirtualHost/{:a;/<\/VirtualHost/!{N;ba;};/dominio1\.com\.br/d;}'
<VirtualHost *>
ServerName www.dominio.com.br
ServerAdmin address@hidden
DocumentRoot /var/www/dominio.com.br/estatisticas
ErrorLog /var/log/apache-error.log
TransferLog /var/www/dominio.com.br/logs/access.log
</VirtualHost>
Explicando:
/<VirtualHost/{ # procura por essa string, que marca o início do bloco
:a # um label
/<\/VirtualHost/!{N;ba;} # vai juntando no pattern space
# até encontrar a string que
# fecha o bloco, que é </VirtualHost
# agora temos todo o bloco de um virtualhost no pattern
# space
/dominio1\.com\.br/d # então, caso tenha a string que
# você quer, apaga.
}
Caso queira mais precisão na procura pelo domínio podes
especificar mais o //d, ex:
/ServerName www\.dominio1\.com\.br/d
....
falou!
thobias
-------
echo 133449562074222244746332132269002206986P | dc
-------
http://thobias.org