用sed剥离html标签

时间:2016-10-25 00:22:24

标签: html shell sed sh

我正在编写一个shell脚本,作为其工作的一部分,它会抓取一个网页以获取提交消息。它得到的输出可能如下所示:

Fix function <code>something_or_other()</code>, with a helpful fix from <a href="https://somewebsite.com">somebody</a>. <br>
Also, fix <a href=somewhere>another thing</a>

我希望脚本输出:

Fix function something_or_other(), with a helpful fix from somebody.  Also, fix another thing.

除了正则表达式之外,有没有办法做到这一点?我很清楚使用正则表达式解析HTML的dangers,但这似乎是唯一的选择。我不想使用太多非普遍存在的外部程序(例如GNU sed已经出局,但POSIX sed很好)。

1 个答案:

答案 0 :(得分:0)

echo 'Fix function <code>something_or_other()</code>, with a helpful fix from <a href="https://somewebsite.com">somebody</a>. <br>
Also, fix <a href=somewhere>another thing</a>' | sed -r s/\<[^\>]+\>//g | sed 'N;s/\n/ /'

输出:

Fix function something_or_other(), with a helpful fix from somebody.  Also, fix another thing