2

I wanted to print a variable(var="phani") to the end of a text file (2.txt) using sed.

This is my work so far:

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

But the error i am getting is :

sed: -e expression #1, char 2: extra characters after command

Any suggestions please?

4

3 回答 3

2

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

 sed "\$a$(var)" file

我希望这有帮助。

于 2012-06-27T17:25:47.553 回答
1

echo "$var" >> 2.txt不充分的理由吗?使用sed它会使一项简单的任务变得比它需要的更困难......

于 2012-06-27T19:05:46.373 回答
1

您需要防止$a外壳扩展:

var="phani";echo sed -e '$a'"$var" -i 2.txt
于 2012-06-27T17:25:02.467 回答