[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Qual a forma mais eficiente para recuperar campos de
From: |
Tiago Peczenyj |
Subject: |
Re: [shell-script] Qual a forma mais eficiente para recuperar campos de um arquivo de texto? |
Date: |
Mon, 3 May 2010 18:04:30 -0300 |
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 <address@hidden>
>
>
> 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]
- Qual a forma mais eficiente para recuperar campos de um arquivo de texto?, Lawrence Waclawiak, 2010/05/03
- Re: [shell-script] Qual a forma mais eficiente para recuperar campos de um arquivo de texto?,
Tiago Peczenyj <=
- Re: [shell-script] Qual a forma mais eficiente para recuperar campos de um arquivo de texto?, MrBiTs, 2010/05/03
- Re: [shell-script] Qual a forma mais eficiente para recuperar campos de um arquivo de texto?, Lawrence Waclawiak, 2010/05/03
- Re: [shell-script] Qual a forma mais eficiente para recuperar campos de um arquivo de texto?, MrBiTs, 2010/05/03
- Re: [shell-script] Qual a forma mais eficiente para recuperar campos de um arquivo de texto?, Cristiano Amaral, 2010/05/03
- Re: Qual a forma mais eficiente para recuperar campos de um arquivo de texto?, Cristiano, 2010/05/03
- Re: [shell-script] Re: Qual a forma mais eficiente para recuperar campos de um arquivo de texto?, Julio C. Neves, 2010/05/03
- Re: [shell-script] Re: Qual a forma mais eficiente para recuperar campos de um arquivo de texto?, Bruno Gunter, 2010/05/03
- Re: [shell-script] Re: Qual a forma mais eficiente para recuperar campos de um arquivo de texto?, Raul Libório, 2010/05/04
Re: Qual a forma mais eficiente para recuperar campos de um arquivo de texto?, Cristiano, 2010/05/03