使用sed将变量打印到文件末尾

时间:2012-06-27 17:19:29

标签: bash unix sed

我想使用var="phani"将变量(2.txt)打印到文本文件(sed)的末尾。

到目前为止,这是我的工作:

$ var="phani";echo sed -e "$a$var" -i 2.txt

但我得到的错误是:

  

sed:-e表达式#1,字符2:命令后的额外字符

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

因为你正在使用dbl-quotes(允许var扩展),你必须转义第一个$所以shell不会尝试评估'$ a',这对我有用..

 sed "\$a$(var)" file

我希望这会有所帮助。

答案 1 :(得分:1)

您需要保护$a免受shell扩展:

var="phani";echo sed -e '$a'"$var" -i 2.txt

答案 2 :(得分:1)

是否有echo "$var" >> 2.txt不充分的原因?使用sed可以使一个简单的任务变得比它需要的更难......