解析多个HTML标签Bash

时间:2019-03-03 22:18:00

标签: html bash awk sed grep

如何解析以下html代码?

我已经找到一种解析“ AAA,BBB”的方法 但对我来说,无法解析“ 1. CCC”和“ DDD”

输出应类似于:AAA,BBB,CCC,DDD

<td style="background:#edeaea;height:30px;padding-top:10px;" align="center" valign="top">
<a href="design-future">
<img src="../habsr/images2/viels_k/cool.jpg" alt="AAA, BBB" title="cool" style="width:105px;">
1. CCC<br><b><font color="#ff0000">DDD</font></b>

1 个答案:

答案 0 :(得分:0)

grepsed的混合可以起作用:

我将您的文本复制/粘贴到名为 blah 的文件中。

$ grep -o -E "\<[A-Z]{3}\>" blah | xargs | sed 's/ /, /g'

// output
AAA, BBB, CCC, DDD

关于grep的说明:
-o从grep输出(AAA,BBB等)中捕获匹配项
-E用于正则表达式
"\<[A-Z]{3}\>" 3个字母的A-Z在单词边界上匹配
xargs的管道从grep输出中获得一行(以空格分隔)

sed的最后一个管道仅将空格转换为逗号空间即可实现所需的输出。