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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] localizar + substituir


From: Felipe Kellermann
Subject: Re: [shell-script] localizar + substituir
Date: Mon, 4 Aug 2003 18:52:29 -0300 (BRT)

On Mon, 4 Aug 2003 5:33pm  -0300, Carlos Henrique Tibo Narciso wrote:

>
> Alguém pode me ajudar?
>
> Tenho um texto e quero localizar uma string e trocar seu valor por um
> conteúdo de uma variável.

        Mesma idéia que mandei há pouco em privado. Agora com algumas
pequenas modificações e para a lista também. Usando apenas a shell, para
funcionar bem nos sistemas embarcados: testado na (d)ash também, função:

$ f(){ while read i; do eval "echo $i"; done; }

        Lê um arquivo até o final, usa echo e avalia linha por linha.
        Um arquivo de teste:

$ nl l
     1  servh=http://$SERVER_IP/
     2  variável${SERVER_IP}e mais texto
     3  e esta é a máquina: ${SERVER_IP##*.}
     4  resposta: `ping -c1 $SERVER_IP|tail -1`

        Explicações:
        1: variável normal, não precisa nada especial.
        2: variável protegida.
        3: os modificadores na variável.
        4: o retorno de um comando (apenas para exemplo).

        Definimos um endereço:

$ SERVER_IP=10.0.0.1

        A função lê a entrada padrão, então vamos fazer um teste:
$ f
variável $SERVER_IP!
variável 10.0.0.1!
^D

        Ok, só passar o texto para a função da forma que quiser:

$ f < l
servh=http://10.0.0.1/
variável10.0.0.1e mais texto
e esta é a máquina: 1
resposta: round-trip min/avg/max = 0.5/0.5/0.5 ms

        Fica bem mais lento que aplicar sed ou awk, mas estes programas
também não estão sempre disponíveis em sistemas embarcados e parece que o
caso não é de processamento de arquivos grandes,

-- 
Felipe Kellermann


reply via email to

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