Regex 使用';sed';修剪HTMl标记和不必要的空白

Regex 使用';sed';修剪HTMl标记和不必要的空白,regex,sed,Regex,Sed,所以我在寻找一个Sed命令,它可以从文本中提取HTML标记(没有属性或嵌套标记)。文本应按如下方式转换: <h1>This is a valid HTML tag</h1>. <i>These</b> <1>invalid</i> <a}>tags</a}> should be ignored. 这是一个有效的HTML标记。 应忽略这些无效标记。 变成: This is a valid HTML

所以我在寻找一个Sed命令,它可以从文本中提取HTML标记(没有属性或嵌套标记)。文本应按如下方式转换:

<h1>This is a valid HTML tag</h1>.
<i>These</b> <1>invalid</i> <a}>tags</a}> should be ignored.
这是一个有效的HTML标记。
应忽略这些无效标记。
变成:

This is a valid HTML tag.
<i>These</b> <1>invalid</i> <a}>tags</a}> should be ignored.
这是一个有效的HTML标记。
应忽略这些无效标记。

我尝试了这个命令
sed的/^.*>\([^正如一些人所提到的,HTML不是regexp的好选择

然而,这可能是一个起点(在vim中测试)

:%s::*\)>\(.*\):\2:

说到这一点,我完全是个傻瓜,我希望更好地了解诸如“grep”和“sed”之类的命令:)不过还是谢谢你的建议!为了强调@LutzHorn的评论:如果你想学习
sed
grep
awk
,不要使用HTML或XML作为学习材料。
:%s:<\([^>]*\)>\(.*\)</\1>:\2: