在shell之后添加换行符

时间:2015-04-13 09:34:59

标签: bash shell sed web-scraping newline

我正在学习编写网站刮刀的基础知识。下载网站后,我想在<tr></tr>之间提取信息。

$ cat < file
<tr><td>Adopt</td><td>H<u>a</u>nai</td></tr><tr><td>Affection</td><td>Pumehana</td></tr>

我的目标是得到这样的东西

$cat < clean
Adopt Hanai
Affection Pumehana

我想首先使用sed在模式<tr>.*<\tr>之后添加换行符,然后使用pattern&lt;。*&gt;删除所有内容。但不知道该怎么做。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

sed $'s/<\/tr><tr>/&\\\n/g; s/<\/td><td>/ /g; s/<[^>]*>//g' file
Adopt Hanai
Affection Pumehana

然而,最好使用专用的HTML解析器进行更复杂的HTML解析。