[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: |
Fabiano Caixeta Duarte |
Subject: |
Re: [shell-script] Remoção de um bloco de texto de um arquivo |
Date: |
Mon, 5 Jan 2009 16:37:30 -0200 |
2009/1/5 Renato de Oliveira Diogo <address@hidden>
> Olá pessoal
>
> então, diretamente com o sed eu não sei trabalhar...
>
> Agora desenvolvi um laco em que eu pego as linhas de inicio e fim do
> bloco, aí com o sed ficaria mais facil.... vejam abaixo:
>
> ===
> COUNT=0;
> MARK=0;
>
> while read L;
> do
> let COUNT++;
> if [ "$L" == '<VirtualHost *:80>' ];
> then
> LI=$COUNT;
> elif [ "$L" == '</VirtualHost>' -a "$MARK" == 1 ];
> then
> LF=$COUNT;
> break;
> elif [ "$L" == "ServerName subdominio.dominio.com.br" ];
> then
> MARK=1;
> fi
> done < teste.txt
> ===
>
> Agora tenho duas variáveis: LI que tem o número da linha onde inicia o
> bloco; LF que tem o número da linha onde termina o bloco.
>
> Com isto bastaria dar
> ===
> if [ $MARK == 1 ]
> then
> sed -i '$LI,$LFd' texte.txt
> fi
> ===
>
> Agora o problema é que como a string está fechada com aspas simples, o
> shell não está convertendo a variável para o número. Como eu
> resolveria isso?
>
>
Renato,
A sua solução serve como exercício e deve ter sua utilidade, mas a forma
mais fácil é utilizando o sed puro.
<MODERACAO>
Você tentou utilizar a solução do Marlon? Ela não funciona, mas já seria uma
forma legal de você dar valor à atenção que ele te deu ao responder. Você
mostra o erro e como tentou resolver. Ele te retorna. Isto é saudável pra
lista...
</MODERACAO>
Uma solução simples com o sed é (corrigindo a solução do Marlon):
sed '/VirtualHost \*:80>/,/\/VirtualHost>/d' arquivo
Observe que isto não irá alterar o arquivo, mas irá jogar na saída padrão o
conteúdo do arquivo sem as linhas que você quer remover.
--
Fabiano Caixeta Duarte
Especialista em Redes de Computadores
Linux User #195299
Ribeirão Preto - SP
[As partes desta mensagem que não continham texto foram removidas]
- 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, 2009/01/05
- 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