23

重定向到文件对于将字符串作为新行附加到文件非常有用,例如

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
4

2 回答 2

51

换行符是由添加的echo,而不是由重定向添加的。只需将-n开关传递echo给以抑制它:

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

-n 不输出尾随换行符

于 2012-09-06T10:17:05.340 回答
3

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

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

当您有更复杂的功能时,这特别有用,也许是一个复杂的“awk”语句来连续拉出一个特定的单元格,然后将它与另一个集合配对。

于 2015-09-01T20:19:02.773 回答