【发布时间】:2016-02-18 17:57:20
【问题描述】:
所以我有一个循环
while read line
do
printf $line"\n"
done < file.txt
这会将每一行打印在一个新行上(就像原始文件一样)。 然而当我这样做时
while read line
do
printf $line
done < file.txt
当我期望它将所有行放在一起时,它不会打印任何内容。
(更多信息:我只是在看看循环是如何工作的,因为我在每一行都有一个数字文件,我想对每个数字应用相同的操作,然后将它们相加)
【问题讨论】:
-
我建议使用
printf "%s\n" "$line"或printf "%s" "$line"。见help -m printf。 -
我遇到了同样的问题。使用 \n 它打印每一行,没有它它什么也不打印。可能是因为我在脚本前面设置了 IFS='\n' 吗?