在<>之间替换

时间:2019-05-06 09:05:18

标签: bash sed

我希望将<>之间的所有字符替换为空

我有很多不同的例子

</p>
<p>
<I>
</I>
<br>
</br>
<BR>
</BR>
<BR >
<BR />

还有更多

replace=$(sed -i 's/(<).*(>)/\1 \2/g')

我遇到此错误:

 sed: -e expression #1, char 18: invalid reference \2 on `s' command's RHS

1 个答案:

答案 0 :(得分:0)

(<).*(>)将匹配行中<>之间的最长字符串,这不是您想要的。改用否定的字符类。

sed 's/<[^>]*/< /g' file