Boa noite Cristiano.

Pensar em usar eu havia pensado, porém a forma que conhecia para usar o 
while para ler um arquivo linha a linha era algo lusitano.
Não sabia que o while tinha a facilidade de por si só ler o arquivo 
linha a linha, para isso eu criava um contador(COUNT) e com o comando 
"LINE=$(awk NR==$COUNT arquivo)" capturava cada linha para depois com o 
cut recuperar os campos.

A solução do MrBits foi praticamente igual a sua mas o que realmente fez 
o ganho astronômico de desempenho foi a sacada dele de escrever tudo de 
uma só vês no arquivo de saída.

O grep eu sabia dessa facilidade, mas acabei escrevendo usando o cat | 
por costume de quando eu ainda não sabia, vou cuidar para não faze-lo mais.

Sobre as variáveis agora eu fiquei na dúvida pois eu sempre as usava em 
caixa alta, até que fiz o Curso de Shell com o Júlio e ele indicou que 
deveríamos usar capitalizadas pois as variáveis de ambiente são por 
default em caixa alta.

Fiz alguns testes e constatei que não existe perigo de eu alterar uma 
variável de ambiente de dentro de um script apenas atribuindo valores a 
ela, ela só realmente muda o valor da variável de ambiente se eu usar o 
export $VAR, porém se eu tentar ler uma variável que ainda não tenha 
algum valor atribuído e que possua o mesmo nome da uma variável de 
ambiante, eu receberei o valor dessa variável de ambiente, também, 
depois de atribuir um valor a uma variável com o mesmo nome de uma 
variável de ambiente eu não posso mais recuperar o valor da variável de 
ambiente.
Que confusão...
Bom, concordo 100% que é muito melhor para visualizar no código as 
variáveis em caixa alta, então será que uma melhor opção não seria usar 
as variáveis em caixa alta mas com um _ no início? tipo $_USER $_NAME 
$_STATUS ?

Acho que assim uniria o útil ao agradável.

Muito obrigado pela sua atenção.

Abraços,
Lawrence Waclawiak


Cristiano escreveu:
>
> --- Em shell-script@yahoogrupos.com.br 
> <mailto:shell-script%40yahoogrupos.com.br>, Lawrence Waclawiak 
> <lawrence...@...> escreveu
> >
> > 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.
>
> Já pensou em usar o while?
>
> http://pastebin.com/8Xdf5j9F <http://pastebin.com/8Xdf5j9F>
>
> 2 Dicas que você não pediu, se me permite:
>
> a) O grep tem capacidade de ler o conteúdo dos arquivos. Portanto, 
> você não precisa de um pipe para pesquisar regex dentro de arquivos 
> textos, como fez em na linha 43 do script (vide "cat $Database|egrep 
> -v '^#'"). Basta indicar o nome do arquivo após o padrão da regex, 
> como fiz na sugestão.
>
> b) Já pensou em usar nome de variáveis em caixa alta? IHMO, nomes de 
> variáveis capitalizados são muito ruins de se escrever (perde-se muito 
> tempo combinando shift+tecla), além de ruins de se ler no meio do 
> código e pode causar muitos bug por erro de digitação. Mas esta é 
> minha opinião. Quer um argumento técnico? Os nomes de variáveis no 
> código fonte do kernel são escritos, por padrão, em caixa baixa. 
> Então, se você resolver usar caixa baixa também, coisas muito ruins 
> podem acontecer.... ;-)
>
> 




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

---------------------------------------------------------------------
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: shell-script-unsubscr...@yahoogrupos.com.br
---------------------------------------------------------------------
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:
    shell-script-unsubscr...@yahoogrupos.com.br

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


Responder a