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