如何使用Sed替换字符串?

如何使用Sed替换字符串?,sed,Sed,假设我有一根这样的绳子 <start><a></a><a></a><a></a></start> 我想这样替换中的值 <start><ab></ab><ab></ab><ab></ab><more></more><vale></value></start>

假设我有一根这样的绳子

<start><a></a><a></a><a></a></start>

我想这样替换
中的值

<start><ab></ab><ab></ab><ab></ab><more></more><vale></value></start>

如何使用Sed实现这一点?

尝试以下方法:

sed 's@<start>.*</start>@<start><ab></ab><ab></ab><ab></ab></start>@' file
sed's@.*@@"档案"

sed的/(\/\1ab\>/g'您的文件
,虽然这会得到
之外的

我用gnu sed得到这行代码:

sed -r 's#(<start>)(.*)(</start>)#echo "\1"$(echo "\2"\|sed  "s:a>:ab>:g")"\3"#ge'  
e、 g

kent$echo“”\
|sed-r的#()(.*)()#echo“\1”$(echo“\2”\\sed”s::g;s::g”)“\3”\ge'

grep-rl'abc'a.txt | xargs sed-i's/abc/def/g'

不仅
外部
还有
或…
之类的标签,我想我已经修复了它,但是反向引用不是我通常使用的东西,所以可能是错误的。如果你不确定,那么就明确地把它放到答案上。
kent$  echo "<start><a></a><a></a><a></a><foo></foo><bar></bar></start>"|sed -r 's#(<start>)(.*)(</start>)#echo "\1"$(echo "\2"\|sed  "s:a>:ab>:g")"\3"#ge'                 
<start><ab></ab><ab></ab><ab></ab><foo></foo><bar></bar></start>
sed -r 's#(<start>)(.*)(</start>)
 #echo "\1"$(echo "\2"\|sed "s:<a>:<ab>:g;s:</a>:</ab>:g")"\3"
 #ge' 
kent$  echo "<start><a></a><a></a><a></a><aaa></aaa><aba></aba></start>" \
 |sed -r 's#(<start>)(.*)(</start>)#echo "\1"$(echo "\2"\|sed  "s:<a>:<ab>:g;s:</a>:</ab>:g")"\3"#ge'
<start><ab></ab><ab></ab><ab></ab><aaa></aaa><aba></aba></start>