我正在尝试逐行读取文件并将文本添加到每一行,然后再回显它们。
但是输出总是看起来不对
link.txt 包含(末尾有换行符):
http://example.com/ddk.zip
http://example.com/453.zip
http://example.com/hth.zip
test=1; while read link; do echo "so $link wow $test"; done < link.txt
wow 1p://example.com/ddk.zip
wow 1p://example.com/453.zip
wow 1p://example.com/hth.zip
奇怪的是,它在循环外工作正常:
test=1; link=2; echo "so $link wow $test"
so 2 wow 1
我需要单行格式。
当您的文件具有 DOS 行结尾 ( \r\n
)时,就会发生这种情况。使用以下命令修复它,您的脚本将起作用:
dos2unix link.txt
或添加\r
到IFS
,如果你不希望修改link.txt
:
test=1
while IFS+=$'\r' read -r link; do
echo "so $link wow $test"
done < link.txt
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句