码迷,mamicode.com
首页 > 其他好文 > 详细

while read line无法读取最后一行的问题

时间:2016-07-13 20:20:33      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

转自http://openwares.net/linux/while_read_line_last_line.html

正好用到,非常感谢,在此留作备份;

while read line读取文件时,如果文件最后一行之后没有换行符\n,则read读取最后一行时遇到文件结束符EOF,循环终止,虽然此时$line内存有最后一行,但程序已经没有机会再处理此行,因此可以通过以下代码来解决此问题:

1
2
3
while read line || [[ -n ${line} ]]; do
...
done

这样当文件没有结束时不会测试-n $line,当遇到文件结束时,仍然可以通过测试$line是否有内容来进行继续处理。

while read line无法读取最后一行的问题

标签:

原文地址:http://www.cnblogs.com/watcsgg/p/5667195.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!