改行で終わらない行指向ファイルを読み込む

改行で終わらない行指向ファイルを読み込む

/tmp/urlFile各行がURLを表すというファイルがあります。次のファイルを読み取ろうとします。

cat "/tmp/urlFile" | while read url
do
    echo $url
done

最後の行が改行文字で終わらない場合、その行は読み取られません。理由を知りたいです。

新しい行で終わるかどうかに関係なく、すべての行を読み取ることができますか?

ベストアンサー1

あなたはこれを行います:

while IFS= read -r url || [ -n "$url" ]; do
  printf '%s\n' "$url"
done < url.list

(実際には、ループは最後の(非)行に欠落している改行文字を追加します)。

また見なさい:

おすすめ記事