Pular para o conteúdo

Contagem de linhas no arquivo

Responder tópico
  • Denunciar
  • Indicar

1. Contagem de linhas no arquivo

Enviado em 25/05/2015 - 13:57h

Boa tarde pessoal.

Estou utilizando o comando WC e o Awk para contar quantas linhas há em um arquivo, porém os arquivos são gigantescos e contar de linha em linha, demora muito muito mesmo.

Queria saber com vcs se há como saber o índice da última linha de um arquivo? Pq assim não precisariamos contar, iria diretamente na última linha..

Muito obrigado pessoal!

Responder tópico

2. Re: Contagem de linhas no arquivo

Enviado em 25/05/2015 - 16:06h

Cara, creio que as linhas não possuem um índice, senão os arquivos teriam uma quantidade muito grande de metadados, ainda mais os grandes como o seu, mas há algumas formas de se contar linhas, como abaixo:

Com find:
find ./arquivo -type f -exec wc -l {} + 
Com "jeitinho":
cat -n ./arquivo | tail -n 1 | awk '{print $1}' 
Com perl:
perl -lne 'END { print $. }' ./arquivo 
Com grep:
grep -c ".*" ./arquivo 
Com sed:
sed -n '$=' ./arquivo 
Com awk:
awk 'END{print NR}' ./arquivo 
Com o wc:
wc -l ./arquivo 
Entre outros.

O que você pode fazer é contar o tempo que cada um leva para informar o número de linhas de cada um dos seus "arquivos grandes". Ou, até mesmo, criar um script que teste com todos e te fale o tempo aproximado que cada um levou, adotando, em seguida, o mais eficaz.
--
The flames warm my languid soul

3. Re: Contagem de linhas no arquivo

Enviado em 25/05/2015 - 16:43h

Obrigado thinomar...

Então esses arquivos gigantes tem em torno de 1800678900 de registro... Se houvesse um jeito de acessar o índice seria muito rápido...os comandos que me passou estou no terceiro e estão passando de 20 minutos e não terminou...

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder