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

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

RES: [shell-script] localizar + substituir


From: Carlos Henrique Tibo Narciso
Subject: RES: [shell-script] localizar + substituir
Date: Tue, 5 Aug 2003 10:15:38 -0300

Felipe,

Vc tem algum material didático que possa me enviar sobre Shell?

Gostaria de aprender mais sobre esta linguagem.

[ ]'s

Tibo


-----Mensagem original-----
De: Felipe Kellermann [mailto:address@hidden]
Enviada em: segunda-feira, 4 de agosto de 2003 18:52
Para: address@hidden
Assunto: Re: [shell-script] localizar + substituir


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


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------


Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.502 / Virus Database: 300 - Release Date: 18/7/2003

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.502 / Virus Database: 300 - Release Date: 18/7/2003




reply via email to

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