wc -l não retornando o valor correto

4

Eu tenho um arquivo .txt que tem 10781 linhas nele. Quando eu executo wc -l no arquivo, recebo um retorno de 10780.

Se eu adicionar uma linha em branco no final do arquivo .txt, obtenho o resultado correto de 10781. Alguém pode explicar exatamente o que conta wc -l ?

    
por Bleakley 04.10.2016 / 16:59

1 resposta

17

Provavelmente sua última linha não tem uma nova linha.

Veja isto:

$ printf bla > file
$ wc -l file
0 file

$ man 1p wc

-l Write to the standard output the number of newlines in each input file.

No Unix, é um bom estilo ter um caractere de nova linha no final dos arquivos de texto. Se você não pode reparar seus arquivos, você pode usar essas soluções alternativas para contar sempre a última "linha": link

    
por 04.10.2016 / 17:02

Tags