如何从页面提取所有HTML标记。不是标签之间的数据

时间:2019-05-29 08:26:37

标签: awk sed

很抱歉,如果是新手问题。我已经搜索了一个小时,并且还在此网站上检查了几个问题,但似乎无法解决。

我正在尝试从几个不同的页面中提取所有HTML标签(元素)。我不需要HTML标记之间的数据。我只需要正在使用的标签,注释等。

所以我要寻找的输出是<>我想之间的任何值。例如,如果代码是

<head> title </head>
<body id=“body text”> blah blah blah </body>

我希望输出为:

<head> </head>
<body id=“body text”> </body>

非常感谢,如果这是一个愚蠢的问题,我们深表歉意。

3 个答案:

答案 0 :(得分:1)

如果您只想在<>之间进行操作,请尝试:

sed -n  's/.*\(<.*>\).*/\1/p' xx.html

答案 1 :(得分:0)

我创建了一个具有以下内容的文件:

<a><B>
nothing
<blabla>
</blabla>
</B>
</a>

为了获取标签内容,我使用了以下命令:

grep -o "<[a-zA-Z0-9]*>" testtttt.txt

得出以下结果:

<a>
<B>
<blabla>

答案 2 :(得分:0)

您可以尝试Perl

$ perl -0777 -ne ' while(/(<.+?>)/g) { print "$1\n" } ' input.txt
<head>
</head>
<body id=“body text”>
</body>

$