Ola pessoal, Eu tenho uma rotina dentro dum batch que reformata e audita o que desejo no arquivo de log do squid, porém a medida que o log do squid aumenta torna-se insustentável o tempo para ler este arquivo. A rotina para ler um arquivo texto é assim : SQUIDLOG="/var/log/squid3/access.log" FINISH=$(wc -l "$SQUIDLOG"|cut -d" " -f1) STARTING=0 while read SQUID_LINHA ; do STARTING=$((STARTING+1)) PERC=$((STARTING*100/$FINISH)) PARAM_DATA_UNIXTIME=`echo $SQUID_LINHA|cut -d " " -f 1` blablabla.... done < $SQUIDLOG
Só que essa forma de ler linha-a-linha é muito lenta, alias o bash é muito lento. Fiz um teste de script removendo o conteúdo entre o while read...done, e praticamente não houve diferença de tempo, o que dá a entender que a demora é por conta do próprio laço. Será que há algum outro algorítimo ou função que poderia usar para melhor a performance ? -- 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

