在shell脚本中逐行读取文件,其中最后一行不以新行结束

时间:2014-12-11 09:58:23

标签: file shell newline

我有一个包含以下行的文本文件:

7.3.0
12

我使用以下行逐行阅读内容

while read -r LINE; do
    if test $n -eq 1 
    then 
       var01=$LINE
    fi
    if test $n -eq 2 
    then 
       var02=$LINE
    fi
    n=`expr $n + 1`
done < <(tr -d '\r' < /mnt/Share/hpsum_build.txt)

上面的代码没有读取最后一行的第二行&#39; 12&#39;它不以新行结束。如何阅读最后一行

1 个答案:

答案 0 :(得分:2)

如果您的文字行没有结尾换行符,那么您可以在脚本开头执行此操作以强制换行:

echo '' >> /mnt/Share/hpsum_build.txt

您还可以致电dos2unix实用程序,从每行\r之前移除DOS \n