重定向到文件对于将字符串作为新行附加到文件非常有用,例如
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
换行符是由添加的echo,而不是由重定向添加的。只需将-n开关传递echo给以抑制它:
echo -n "foo" >> file.txt
echo -n "bar" >> file.txt
-n不输出尾随换行符
将结果回显到一行的另一种方法是将结果简单地分配给变量。例子:
j=$(echo foo)
i=$(echo bar)
echo $j$i
foobar
echo $i $j
bar foo
当您有更复杂的功能时,这特别有用,也许是一个复杂的“awk”语句来连续拉出一个特定的单元格,然后将它与另一个集合配对。