while read p; do
echo $p
done < file.txt
慶典:通過txt文件行迭代無法讀取最後一行
這個代碼可以讀取所有file.txt文件除了行的最後一行的任何想法,爲什麼。 謝謝
while read p; do
echo $p
done < file.txt
慶典:通過txt文件行迭代無法讀取最後一行
這個代碼可以讀取所有file.txt文件除了行的最後一行的任何想法,爲什麼。 謝謝
如果youre在有關文件中的最後\n
疑問,你可以試試:
while read p; do
echo $p
done < <(grep '' file.txt)
的grep是不挑剔的行結束)
您可以使用grep . file.txt
跳過空行...
cat file.txt並查看最後一行是否在最後一行的末尾有新行。 如果它不那麼while read p ; do echo $p done < file.txt
不會回顯的最後一行換上新線在文本文件中的最後一行的末尾
那麼最後一行不包含換行符,一其他答案已經指出。但是讀命令實際上設置了p
變量,然後不是返回成功,而是返回文件錯誤的結尾。所以這個錯誤會阻止循環執行。你仍然可以使用p
變量,它包含了文件
while read -r p || [[ -n "$p" ]]
do
echo $p
done < file.txt
這使得2個條件進行測試,與,或僅當第一失敗,第二個被執行的最後一行。所以,當最後一行會導致read
文件錯誤結束時,我們將檢查p
是否已設置。如果是,我們將使用它。