sed替换特殊字符串配额

sed替换特殊字符串配额,sed,Sed,sed仍然让我头疼,所以非常感谢您的帮助 在文件中,我有一个字符串,如: SOME_TEXT="variables" 我想要完成的是在字符串的末尾或求值处添加一段文本(变量) 我尝试使用以下的变体: sed -i '/^SOME_TEXT="/ s/$/ SOME_TEXT="new text'/' filename 但这是失败的,所以很明显,我想添加到字符串的配额弄乱了语法 乐: 另一个变体是,我有一个变量,我想在该语法中用作替换,所以我有: sed -i "s/^SOME_TEXT="

sed仍然让我头疼,所以非常感谢您的帮助

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

SOME_TEXT="variables"
我想要完成的是在字符串的末尾或求值处添加一段文本(变量)

我尝试使用以下的变体:

sed -i '/^SOME_TEXT="/ s/$/ SOME_TEXT="new text'/' filename
但这是失败的,所以很明显,我想添加到字符串的配额弄乱了语法


乐: 另一个变体是,我有一个变量,我想在该语法中用作替换,所以我有:

sed -i "s/^SOME_TEXT="/SOME_TEXT=" $variable/" file
这实际上产生了这个输出,因为它错误地获取了期初/期末配额:

SOME_TEXT = text_variable" initial text continuation
那么,我如何才能正确地关闭尾随配额,以便在它之后使用变量呢

sed  's/^SOME_TEXT="/SOME_TEXT="new text/' filename
结果表明:

SOME_TEXT="new textvariables"
这就是您想要的吗?

'\'
'''
字符进行转义,这样它们就不会终止您的正则表达式字符串

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

你需要使用双引号来扩展变量Hanks Martin,这就做到了。我编辑了我的帖子,因为我想使用一个变量作为替换文本,而且因为我必须使用双配额,这些都是sed语法和我的文本中也有一个的事实之间的混乱。