Difference between linenumbers of cat file | nl and wc -l file
i have a file with e.g. 9818 lines. When i use wc -l file, i see 9818 lines. When i vi the file, i see 9818 lines. When i :set numbers, i 开发者_如何转开发see 9818 lines. But when i cat file | nl, i see the final line number is 9750 (e.g.). Basically i'm asking why line numbers from cat file | nl and wc -l file do not match.
wc -l: count all lines
nl: count all (nonempty) lines
try
nl -ba: count all lines
nl(1)
says the default is for header and footer lines to not be numbered (-hn -fn
), and those are specified by repeating \;
on various lines. Perhaps your input file includes some of these?
I suggest reading the output of nl
line by line against cat -n
output and see where things diverge. Or use diff -u
if you want to take the fun out of reading 9818 lines. :)
nl does not number blank lines, so this is almost certainly the reason. If you can point us to the file, we can confirm that, but I suspect this is the case.
精彩评论