缺少檔案中的最後一行
C 標準說檔案應該以新行結束,所以如果 EOF 出現在一行的末尾,那麼某些命令可能不會錯過該行。舉個例子:
$ echo 'one
two
three\c' > file.txt
$ cat file.txt
one
two
three
$ while read line ; do echo "line $line" ; done < file.txt
one
two
為了確保這在上面的示例中正常工作,請新增一個測試,以便在最後一行不為空時繼續迴圈。
$ while read line || [ -n "$line" ] ; do echo "line $line" ; done < file.txt
one
two
three