ファイルから行を読み、文字列を追加したいと思います。ところがちゃんと付いていませんね。
#! /bin/bash
FILE=$1
while IFS= read -r line
do
line2="${line} &"
echo $line2
done <$FILE
私の入力ファイルには以下が含まれています。
message
sample
text
期待される出力
message &
sample &
text &
ただし、スクリプトを実行すると、次のような結果が表示されます。
&ssage
&mple
&xt
最後に文字列を追加しないのはなぜですか?
ベストアンサー1
&ssage
&mple
&xt
問題は、入力ファイル(明らかにWindowsで生成された)にCRLF行の終わりがあることです。
修正するsed -i 's/\r//' file