Contagem de linhas no arquivo

1. Contagem de linhas no arquivo

Alan Guanais de Miranda
amiranda

(usa Outra)

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!


  


2. Re: Contagem de linhas no arquivo

thinomar
thinomar

(usa Linux Mint)

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

Alan Guanais de Miranda
amiranda

(usa Outra)

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...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts