shell判断文件结尾是否有回车符

概述

在脚本中通过while read循环读取文件内容时,如果文件格式不是UNIX,并且文件最后一行不是以空行结束,那么在读取的时候始终无法正确处理最后一行数据,其原因就是因为回车换行符的问题,所以为了解决这个问题,可以在处理前简单判断下文件末尾是否有换行。

tail -n1 <your file> | wc -l

输出为1表示有换行, 输出为0无换行

解决

e.g :

if [ $(tail -n1 <your file> | wc -l) -eq 1 ];then
    echo "Newline at the end of the file"
fi
发布了87 篇原创文章 · 获赞 28 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/MakerCloud/article/details/103942258