我有一个 .txt 文件,其中有 10781 行。当我运行wc -l
该文件时,我得到的返回值为 10780。
如果我在 .txt 末尾添加一个空行,我会得到正确的结果 10781。有人能解释一下到底wc -l
是什么吗?
答案1
可能你的最后一行没有换行符。
看看这个:
$ printf bla > file
$ wc -l file
0 file
$ 人 1p 厕所
-l 将每个输入文件中的换行数写入标准输出。
在 Unix 上,在文本文件末尾添加换行符是一种很好的风格。如果您无法修复文件,您可以使用这些解决方法来始终计算最后“行”: https://stackoverflow.com/questions/28038633/wc-l-is-not-counting-last-of-the-file-if-it-does-not-have-end-of-line-character