重定向到文件非常有用,可以将字符串作为新行添加到文件中,例如
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
答案 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'语句来拉出一行中的特定单元格,然后将它与另一个集合配对。