sed替代非贪婪的search

那么,我知道sed不支持非贪婪的search,但有可能是一个聪明的正则expression式来取代以下

VARIABLE=" text1 text2 text3 " 

 VARIABLE=" Atext1 Atext2 Atext3 " 

现在我只能replace第一场比赛。

我不相信这种情况是重要的,sed不支持非贪婪的正则表达式,下面的非包含范围替换应该就足够了。 我用GNU sed运行了一个测试,看下面的结果

 sed '/^VAR.*="/,/^"/ {/"/! s/^/A/}' testfile.txt VARIABLE=" Atext1 Atext2 Atext3 " test data test p VARIABLE=" Atext1 Atext2 Atext3 " test data 

编辑:或者如波通指出的,这可以归结为更习惯的形式

 sed '/^VAR.*="/,/^"/ {//! s/^/A/}' testfile.txt 

假设文本不包含双引号:

 sed '/"/!s/^/A/' input 

我假设你想要替换变量的内容:

 VARIABLE=$(sed 's/./A&/' <<< "$VARIABLE")