[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RES: [shell-script] localizar + substituir
From: |
Cesar Augusto Fresqui |
Subject: |
Re: RES: [shell-script] localizar + substituir |
Date: |
05 Aug 2003 13:04:33 -0300 |
http://www.tldp.org/LDP/abs/html/
Advanced Bash-Scripting Guide
An in-depth exploration of the art of shell scripting
:)
On Tue, 2003-08-05 at 10:15, Carlos Henrique Tibo Narciso wrote:
> 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
>
>
>
>
> ---------------------------------------------------------------------
> 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
>
>
>
--
=====
"Quem pensa em fracassar, já fracassou mesmo antes de tentar.
Somos o que pensamos e acreditamos ser."
Unix sex: unzip; strip; touch; finger; mount; fsck; more; yes; umount;
sleep
Cesar Augusto Fresqui
UIN: 5552497
Linux User # 96495
[As partes desta mensagem que não continham texto foram removidas]