如何使用像sed这样的linux命令为html添加一些标签

时间:2012-07-18 08:43:57

标签: html linux sed

我有一些带有一些表的html页面,我需要使用bash脚本在页面上添加新表作为FIRST表,我知道它可以使用sed或smt else来完成,但我不知道它是如何工作的......可以有人帮忙找到方法吗?

html页面的例子:

<html>
<head></head>
<body>

THERE SHOULD BE ADDED NEW TABLE ROW LIKE BELOW 


<tr>
<td rowspan="2" bgcolor="#fff1cc" class="style4"><div align="center">
<h4>2012-07-17</h4>
</div></td>
</tr>
<tr>
<td height="2" bgcolor="#fff1cc" class="style4"><a ref="07_17_ef47efb/index.html">sha1:ef47efb</a></td>
<td bgcolor="#fff1cc" class="style4" align="center"><img src="../Pictures/green.gif" width="35" height="37"></td>
</tr>

<tr>
<td rowspan="2" bgcolor="#fff1cc" class="style4"><div align="center">
<h4>2012-07-17</h4>
</div></td>
</tr>
<tr>
<td height="2" bgcolor="#fff1cc" class="style4"><a href="07_17_ef47efb/index.html">sha1:ef47efb</a></td>
<td bgcolor="#fff1cc" class="style4" align="center"><img src="../Pictures/green.gif" width="35" height="37"></td>
</tr>

<tr>
<td rowspan="2" bgcolor="#fff1cc" class="style4"><div align="center">
<h4>2012-07-17</h4>
</div></td>
</tr>
<tr>
<td height="2" bgcolor="#fff1cc" class="style4"><a href="07_17_ef47efb/index.html">sha1:ef47efb</a></td>
<td bgcolor="#fff1cc" class="style4" align="center"><img src="../Pictures/green.gif" width="35" height="37"></td>
</tr>
</body>
</html>

表行的例子,应该在html页面中添加为FIRST:

<tr>
<td rowspan="2" bgcolor="#fff1cc" class="style4"><div align="center">
<h4>$date</h4>
</div></td>
</tr>
<tr>
<td height="2" bgcolor="#fff1cc" class="style4"><a ref="$path/index.html">sha1:$rev</a></td>
<td bgcolor="#fff1cc" class="style4" align="center"><img src="../Pictures/green.gif" width="35" height="37"></td>
</tr>

2 个答案:

答案 0 :(得分:0)

1)你的html没有<table></table>是不是正确?

2)如果你要添加的行是固定的,你可以将它们保存到一个文件中,比如rows.txt。然后尝试将<body>标记替换为<body>以及rows.txt的内容。但是,如果您的foo.html中存在嵌套的<table>。它可能很复杂。

答案 1 :(得分:0)

我找到了一个解决方案 - SED: change/insert/append lines after matching a pattern