Olá Pessoal, esqueci de colocar como observação que na verdade testei DEZ VEZES cada comando - para evitar os problemas já mencionados -, antes de enviar os resultados pra lista e todos os resultados variaram muito pouco - décimos de segundos.
O sed foi o último a ser testado, apenas coloquei-o primeiro para que os tempos ficassem em ordem decrescente. Assim, os valores obtidos são confiáveis, e apesar de serem totalmente dependentes do hardware. Seria bom que alguem testasse (várias vezes cada comando) em uma máquina com configuração diferente para compararmos os resultados. Sérgio. Em 16/07/07, Bruno Gunter Fricke <[EMAIL PROTECTED]> escreveu: > > Hmmmm... O wc -l já acessou o arquivo, acho que o cat/tac seria > desnecessário, não? > > []'s > Gunter > > Em Seg, 2007-07-16 às 11:47 -0300, Julio C. Neves escreveu: > > > Concordo totalmente com o Leslie. Seria legal que a pessoa que fez o > > primeiro teste, o refaça observando o que o Leslie falou e republique > > aqui o > > resultado. > > > > Abraços, > > Julio > > :wq > > > > Em 16/07/07, Leslie Watter <[EMAIL PROTECTED] <watter%40gmail.com>> > escreveu: > > > > > > hmmm, > > > > > > Não sei não, pra não balizar o teste, antes de passar o arquivo pelo > > sed, > > > você poderia ter feito um > > > > > > $ cat arquivo > /dev/null > > > > > > dai sim, todos os testes. > > > > > > Deixa eu explicar. > > > Como o sed foi o primeiro a ler o arquivo, ele teve de pagar o tempo > > de > > > acesso ao arquivo no disco. Isso envolve o tempo de leitura no > > disco, o > > > que > > > em relação ao processamento é muito lento e que pode justificar a > > > disparidade tão grande. > > > > > > A idéia aqui não é justificar o sed, mas tornar o teste mais justo > > com > > > todos > > > os aplicativos. > > > > > > Outra coisa, estou supondo que vc não fez isso. Caso tenha feito, > > ok, os > > > testes são mais válidos. Mas lembre-se que o resto do sistema também > > > influencia, e muito, nesse tipo de avaliação. > > > > > > Abraço, > > > > > > LEslie > > > > > > 2007/7/14, Sergio Nery Simoes <[EMAIL PROTECTED]<sergionery%40gmail.com> > <sergionery% > > 40gmail.com> > > > >: > > > > > > > > > > > Pessoal, > > > > > > > > apenas por curiosidade sobre o desempenho, fiz uma comparação de > > tempo > > > > entre > > > > as soluções propostas, com o sed, o cut e o awk. > > > > A apesar da minha grande preferência pelo awk, após os resultados > > vou > > > > rever > > > > meus conceitos sobre o cut (rs). > > > > Os testes foram feitos com um arquivo de dois milhões de linhas em > > um P4 > > > > 2.2GHz. > > > > Em todos foi feito o redirecionamento para /dev/null e por isso > > não > > > > utilizei > > > > a opção -i do sed. > > > > > > > > Observem: > > > > > > > > $ wc -l arq > > > > 2000000 arq > > > > > > > > $ time sed 's/documento_//;s/.odt//' arq > /dev/null > > > > real 0m14.492s > > > > user 0m13.805s > > > > sys 0m0.076s > > > > > > > > $ time awk -F '[_.]' '{print $2}' arq > /dev/null > > > > real 0m2.112s > > > > user 0m2.020s > > > > sys 0m0.044s > > > > > > > > $ time cut -d '_' -f 2 arq | cut -d '.' -f 1 > /dev/null > > > > real 0m0.944s > > > > user 0m0.812s > > > > sys 0m0.104s > > > > > > > > reparem que o sed teve o pior desempenho ~14s, o awk não foi o > > melhor > > > mais > > > > teve um excelente resultado ~2s, sendo o cut o mais rápido ~1s, > > duas > > > vezes > > > > mais rápido que o awk e 14 vezes mais rapido que o sed. > > > > > > > > O fato de alguns comando serem mais sofisticados (eg: processar > > ERs, > > > etc), > > > > podem torná-los mais lentos ao utilizarmos para operações simples. > > > > > > > > Conclusão: se quisermos obter desempenho, devemos utilizar > > comandos mais > > > > simples sempre que possível. > > > > > > > > Att, > > > > Sergio. > > > > > > > > Em 06/07/07, Tiago Barcellos Peczenyj > > <[EMAIL PROTECTED] <tiago.peczenyj%40gmail.com><tiago.peczenyj% > 40gmail.com> > > > <tiago.peczenyj%40gmail.com>> > > > > escreveu: > > > > > > > > > > Bom, existem muitas formas: > > > > > > > > > > awk -F '[_.]' '{print $2}' arquivo > > > > > > > > > > ou > > > > > > > > > > cut -d '_' -f 2 arquivo | cut -d '.' -f 1 > > > > > > > > > > []s Tiago > > > > > > > > > > On 7/6/07, Eduardo Lucas > > <[EMAIL PROTECTED] <eduardo.lucas%40orbisat.com.br>< > eduardo.lucas%40orbisat.com.br> > > > <eduardo.lucas%40orbisat.com.br> > > > > <eduardo.lucas%40orbisat.com.br>> > > > > > > > > > wrote: > > > > > > > > > > > > Pessoal... > > > > > > estou como as seguintes linhas do arquivo > > > > > > > > > > > > documento_0012526A.odt > > > > > > documento_0035555A.odt > > > > > > documento_0054443A.odt > > > > > > documento_0022222A.odt > > > > > > documento_0034344A.odt > > > > > > documento_0055555A.odt > > > > > > > > > > > > preciso da saida em um arquivo dele assim dele assim: > > > > > > > > > > > > 0012526A > > > > > > 0035555A > > > > > > 0054443A > > > > > > 0022222A > > > > > > 0034344A > > > > > > 0055555A > > > > > > > > > > > > como faço isto... > > > > > > desde já grato > > > > > > > > > > > > Eduardo > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Tiago B Peczenyj > > > > > Linux User #405772 > > > > > > > > > > http://peczenyj.blogspot.com/ > > > > > > > > > > [As partes desta mensagem que não continham texto foram > > removidas] > > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > -- > > > Leslie H. Watter > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > -- > > Abraços, > > Julio > > http://www.julioneves.com - Um livro sobre Bash completo e on-line > > :wq > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]