我有大约10000个html下载的文件。他们有一段像这样的HTML代码:
<tr>
<td width="10%" valign="top"><p>City:</p></td>
<td colspan="2"><p>
London
</p></td>
</tr>
我需要的是一种从所有文件中获取城市的方法。我正在使用linux所以我正在考虑使用一些批处理文件来处理sed,但由于某些编码问题,sed对这些文件效果不佳(有些城市有像Jérica这样的重音符号而且找不到它们的名字) 。 这样做的正确方法是什么?
答案 0 :(得分:2)
最可靠的方法是使用HTML(或XML)解析器。
但是,如果HTML总是以相同的方式格式化,例如:
<tr>
<td width="10%" valign="top"><p>City:</p></td>
<td colspan="2"><p>
*******
</p></td>
</tr>
城市名称出现在星号的位置,那么下面的单行应该有效:
cat *.html |grep -A2 '<p>City' |tail -n1 |sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'