1.普通の場合、末尾のスペースがなくなる。
while read LINE
do
echo "$LINE" >> output.txt
done < input.txt
※ "$LINE"
で中のスペースは保留しますが、末尾のスペースが消えます。
末尾のスペースを保持する方法(実機確認済み)
while IFS= read -r LINE
do
#printf "%s\n" "$line"
echo "$LINE" >> output.txt
done < input.txt
・IFS=: Internal Field Separator(内部フィールド区切り)を空にすることで、末尾の空白を含めたすべての空白文字が保持されます。
・-r: readコマンドのオプションで、バックスラッシュをエスケープ文字として解釈しないようにします。
・-r を付ける方が安全です。特に、テキスト内にバックスラッシュが含まれている場合に、それを正確に処理できます。
・エスケープシーケンス(\n, \t など)を解釈する必要がある特別なケース以外は、通常は read -r を使います。
コメント欄