如何将字符串附加到同一行而不是创建新行?

时间:2012-09-06 10:15:47

标签: bash redirect

重定向到文件非常有用,可以将字符串作为新行添加到文件中,例如

echo "foo" >> file.txt
echo "bar" >> file.txt

结果:

foo
bar

但是也可以将字符串重定向到文件中的同一行吗?

示例:

echo "foo" <redirection-command-for-same-line> file.txt
echo "bar" <redirection-command-for-same-line> file.txt

结果:

foobar

2 个答案:

答案 0 :(得分:40)

换行符由echo添加,而不是由重定向添加。只需将-n切换到echo即可将其禁止:

echo -n "foo" >> file.txt
echo -n "bar" >> file.txt
  

-n不输出尾随换行符

答案 1 :(得分:1)

将结果回显到一行的另一种方法是简单地将结果分配给变量。例如:

j=$(echo foo)
i=$(echo bar)
echo $j$i
foobar
echo $i $j
bar foo

当你有更复杂的函数时,这个特别有用,可能是一个复杂的'awk'语句来拉出一行中的特定单元格,然后将它与另一个集合配对。