我从wc -l
命令得到了错误的结果。经过很长时间:(检查发现问题的核心,这里是模拟:
$ echo "line with end" > file
$ echo -n "line without end" >>file
$ wc -l file
1 file
这里有两行,但缺少最后一行“\ n”。任何简单的解决方案?
答案 0 :(得分:17)
对于wc
行,以“\ n”字符结尾。其中一个解决方案就是利用线条。 grep没有寻找结束的NL。
e.g。
$ grep -c . file #count the occurrence of any character
2
以上不会计算空行。如果需要,请使用
$ grep -c '^' file #count the beginnings of the lines
2
答案 1 :(得分:13)
来自wc
-l, --lines
print the newline counts
形成echo
-n do not output the trailing newline
因此您的文件中包含1
newline
,因此wc -l
会显示1
。
您可以使用以下awk
命令计算行数
awk 'END{print NR}' file