wc命令统计文本少一行

我们两清 提交于 2019-12-29 21:54:50

问题由来

昨天在测试的时候,遇到了一个问题,在计算文本文本的行数的时候,直接在linux系统,用的cat file.txt | wc -l 用这个命令统计的,可以结果确比真实的文本少了一行。

问题原因

wc -l 统计行数:使用换行符”\n”作为行结束标志,实际是统计换行符个数
少一行的原因就是因为wc –l是按\n作为行结束符统计行数,所以最后一行如果没有\n的话会统计丢失。windows环境下编译生成的文件文件末尾无\n

实例演示

1.windows环境下编写test1.sh

[root@51 51mn]# cat -A test1.sh
11111111^M$22222222^M$33333333^M$44444444^M$55555555

最后一行如果没有\n,wc统计的结果为4

2.在linux上面直接编写test2.sh

[root@51 51mn]# cat -A test2.sh 
111111$222222$333333$444444$555555$

最后一行如果有\n,wc统计的结果为5

www.askcto.com

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!