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