sed替换特殊字符串配额

时间:2015-05-08 14:51:21

标签: sed

sed仍让我头痛,所以非常感谢你的帮助。

在文件中,我有一个字符串:

SOME_TEXT="variables"

我想要完成的是将一段文本(变量)添加到该文本的字符串的结尾或乞讨。

我尝试使用以下变体:

sed -i '/^SOME_TEXT="/ s/$/ SOME_TEXT="new text'/' filename

但是失败了,所以我想要添加的字符串的配额显然会弄乱语法。

LE: 进一步的变化是我有一个变量,我想在该语法中用作替换,所以我有这个:

sed -i "s/^SOME_TEXT="/SOME_TEXT=" $variable/" file

这实际上产生了这个输出,因为它错误地拾取了开/关配额:

SOME_TEXT = text_variable" initial text continuation

那么如何才能正确关闭尾随配额,以便我可以在之后使用变量?

2 个答案:

答案 0 :(得分:1)

我用过

sed  's/^SOME_TEXT="/SOME_TEXT="new text/' filename

它显示:

SOME_TEXT="new textvariables"

这就是你想要的吗?

答案 1 :(得分:1)

使用'"'转义'\'个字符,以便他们不会终止您的正则表达式字符串。

sed -i "s/^TEXT=\"/TEXT=\" $variable/"