我想使用var="phani"
将变量(2.txt
)打印到文本文件(sed
)的末尾。
到目前为止,这是我的工作:
$ var="phani";echo sed -e "$a$var" -i 2.txt
但我得到的错误是:
sed:-e表达式#1,字符2:命令后的额外字符
有什么建议吗?
答案 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
可以使一个简单的任务变得比它需要的更难......