最後の行の終わりにEOLがないファイルがあります。そこから読み取るbashスクリプトが最後の行を処理していなかったときに、これに気づきました。
私はそれからこのように読んだ:
while read LINE
do
...
done <thefile
ファイルは私に提供されているので、システム(Linux-OpenSuSE 10.2)に到達する前に私ができることは何もありません。ファイルを実行dos2unixしますが、不足しているEOLは解決されません。
viとを含むいくつかの解決策を見てきましたが、それらは少し不格好で、bashスクリプト内から使用できるed、おそらくを使用した、より適切な解決策があることを望んでいましたか?sed
奇妙なことにvi、ファイルを作成して、を実行すると、最後の行の最後に:set list「」が表示されます。「 」が表現$していると思っていたので、それが欠けているのではないかと期待していました。それとも、改行と行末の間に違いがありますか?$\n