用Bash解析多个HTML标记

用Bash解析多个HTML标记,html,bash,awk,sed,grep,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/co

如何解析以下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.CCC
DDD
混合使用
grep
sed
可以:

我将你的文本复制/粘贴到一个名为的文件中

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

// output
AAA, BBB, CCC, DDD
$grep-o-E“\”废话| xargs | sed's/,/g'
//输出
AAA、BBB、CCC、DDD
关于grep的说明:
-o
从grep输出(AAA、BBB等)捕获匹配项
正则表达式的
-E

“\”
3个字母的A-Z在单词边界上匹配
xargs
的管道从grep输出中获取一行(用空格分隔)

sed的最后一个管道只是将空格转换为逗号空格,以实现所需的输出