Bash 使用sed更改代码的某些部分

Bash 使用sed更改代码的某些部分,bash,sed,Bash,Sed,在htm文件中,我有以下结构的代码的几个部分。 它以infowindow.content=开始,以结束; 我需要在这些行中更改第一部分infowind.content=用于infowindow.setContent(和最后一部分”;用于”; infowindow.content=" Poblacio : Berlin <br> Font : Metar <br> Data : 24.04.2015 - 15:24:05 <<br> T_Actual :

在htm文件中,我有以下结构的代码的几个部分。 它以infowindow.content=开始,以结束;

我需要在这些行中更改第一部分infowind.content=用于infowindow.setContent(和最后一部分
”;
用于
”;

infowindow.content=" Poblacio : Berlin <br> Font : Metar <br> Data : 24.04.2015 - 15:24:05 <<br> T_Actual : 14 <br> T_Max : 20 <br> T_Min : 7 <br> Rain : 5 <br>";

infowindow.setContent(" Poblacio : Berlin <br> Font : Metar <br> Data : 24.04.2015 - 15:24:05  <br> T_Actual : 14 <br> T_Max : 20 <br> T_Min : 7 <br> Rain : 5 <br>");

您可以添加一个捕获组来“捕获”
=
之间的所有值。然后在replace语句中使用此捕获的值一步执行替换:

sed -e "s/infowindow.content=\(.*\);/infowindow.setContent(\1);/" test.htm 
你可以试试看

sed -i '/content/ {s/content=/SetContent(/; s/;$/);/}' file  

谢谢Hunter,所以您可以使用(.*)进行“捕获”,并使用(\1)进行修改?这里的数字1是什么意思?\1指的是捕获组。您可以有多个捕获组,并且可以按照从1开始定义的顺序来引用它们
sed -i '/content/ {s/content=/SetContent(/; s/;$/);/}' file