I have a text file which has over 60MB size. It has got entries in 5105043 lines, but when I am doing wc -l it is giving only 5105042 results which is one less than actual.
The last line in your file is probably missing a newline ending. IIRC, wc -l
merely counts the number of newline characters in the file.
If you try: cat -A file.txt | tail
does your last line contain a trailing dollar sign ($
)?
EDIT:
Assuming the last line in your file is lacking a newline character, you can append a newline character to correct it like this:
printf "\n" >> file.txt
The results of wc -l
should now be consistent.