Para cada | e $( ) vc abre um subprocesso.

Como vc faz isso durante MUITAS vezes o processo vai ser lento porem, se
dura menos de 1 segundo, eu nao acho isto lento IMHO.

Se vc criar um script awk no lugar do script shell vc nao tera esse overhead
dependendo de como vc cria-lo.


2010/5/3 Lawrence Waclawiak <[email protected]>

>
>
> Boa tarde a todos,
>
> Desenvolvi um script para gerar o arquivo dhcpd.conf a partir de uma
> base de dados salva em arquivo de texto simples com cada maquina em uma
> linha e os campos separados por ;(ponto e virgula).
> O formato dessa base de dados é o seguinte:
>
> #nome;mac;local;so;gw;ip;status;comentario;
>
> pc-301;00:e0:7d:f4:c6:cb;Cobrança;Win_XP;10.10.48.1;10.10.48.20;Manutencao;;
> pc-302;00:1D:7d:83:fe:d1;Cobrança;Win_2000;;;Ativo;;
> pc-303;00:1f:c6:60:47:86;Cobrança;Win_XP;;;Ativo;;
> pc-304;00:1c:c0:43:62:b5;Cobrança;Win_XP;;;Ativo;;
>
> A base completa encontra-se em:
> http://pastebin.com/Hx7Bpjgj
>
> O script que criei utiliza o cut dentro de um for para recuperar os campos.
>
> Pc=$(echo $LINE |cut -d";" -f1)
> Mac=$(echo $LINE |cut -d";" -f2)
> Local=$(echo $LINE |cut -d";" -f3)
> So=$(echo $LINE |cut -d";" -f4)
> Gw=$(echo $LINE |cut -d";" -f5)
> Ip=$(echo $LINE |cut -d";" -f6)
> Status=$(echo $LINE |cut -d";" -f7)
> Coment=$(echo -e $LINE |cut -d";" -f8)
>
> O script completo encontra-se em:
> http://pastebin.com/xLLzMkKL
>
> A função que trata dessa separação é a função corpo().
>
> Tudo funciona corretamente porém a maquina demora um pouco para
> processar toda a lista e montar o dhcpd.conf, gostaria de saber se
> alguém conhece uma forma mais eficiente de recuperar o valor desses
> campos que não seja o que eu utilizei nem o awk -F';' '{print $x}' pois
> esse é mais pesado ainda.
> A maquina que estou utilizando é bastante forte, um dell poweredge 1950
> 8Gb de ram 2 processadores xeon quadcore de 2.8Ghz e memso assim para
> processar essa pequena base leva cerca de 600ms medidos com o comando time.
>
> Muito obrigado!
>
>  
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://pacman.blog.br


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

---------------------------------------------------------------------
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: [email protected]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [email protected]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a