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