Conversei com um amigo que já escreve software de base em C/C++ há bastante tempo e ele disse que o mesmo algoritimo em C teria basicamente a mesma performance, uma leitura while not eof noutra linguagem não me daria nenhuma vantagem. Taambém me disse que softwares como sed, awk, perl e grep apesar de serem escritos em C/C++ fazem as coisas de um jeito diferente que dão uma performance drastica a tratamento de arquivos. Por isso não resolvi re-escrever em C ou pascal e mantive em bash com grep+awk+sed+perl. Um sed que converte unixtime : perl -MPOSIX -pe 's/\d+/strftime("%Y-%m-%d+%H:%M:%S",localtime($&))/e' /var/log/squid3/squid.log >> "$TMPFILE_PARCIAL" no log do squid contendo 1,5milhão de linhas é feito em instantes e eu fazia isso linha-a-linha dentro meu mundinho de while not eof que levava horas !
Não me arrependo, só me arrependo de não saber tanto de perl e awk quanto eu gostaria. Se tivesse curso disso eu até faria. []'s Em 28 de outubro de 2011 18:05, Andre Cavalcante < andre.d.cavalca...@gmail.com> escreveu: > Em 28 de outubro de 2011 13:59, hamacker <sirhamac...@gmail.com> escreveu: > > > Só para concluir este assunto. > > > > Bem, o que fiz ? > > parei de fazer a leitura sequencial, usei um 'awk' para pegar todos os > > usuarios contidos no log e depois um grep para pegar usuario por usuario > e > > refiz a saída usando outra sintaxe do 'awk' formatando o resultado, > > resultado ? > > O tempo caiu para 11min, por isso AWK rocks ! > > E só leva 11min porque tem um grep no meio que remove do log acessos > > considerados de livre acesso e leva 9min! senão seria tudo em 2min. > > > > Só preciso conhecer melhor essa ferramenta porque olhando a sintaxe sem > > saber o que faz parece código alienigena. > > > > É por essas e outras que parto para soluções mais terráqueas (C ou Pascal!) > > ahahahaha! > > Abraços > > André Cavalcante > Caparica, Portugal > Ubuntu User number # 24370 > Quer saber sobre Open Source Software? http://sobreoss.blogspot.com > Quer saber mais sobre Espiritismo? http://sobreespiritismo.blogspot.com > > Atenção: Este e-mail pode conter anexos no formato ODF (Open Document > Format)/ABNT (extensões odt, ods, odp, odb, odg). Antes de pedir os anexos > em outro formato, você pode instalar gratuita e livremente o BrOffice ( > http://www.broffice.org) ou o seguinte Plugin para Microsoft Office ( > http://odf-converter.sourceforge.net/index.html< > http://www.sun.com/software/star/odf_plugin/get.jsp> > ). > -- > Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece > > Lista de discussão Ubuntu Brasil > Histórico, descadastramento e outras opções: > https://lists.ubuntu.com/mailman/listinfo/ubuntu-br > -- Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece Lista de discussão Ubuntu Brasil Histórico, descadastramento e outras opções: https://lists.ubuntu.com/mailman/listinfo/ubuntu-br