在 html 文件中查找条目并替换下一行中的值

在 html 文件中查找条目并替换下一行中的值

我有一个 html 文件,下面是该文件的片段。

<tr>
  <th width='25%'><div class="detail"><b>VM Capacity</b></div></th>
  <td width='75%'>455</td>
  </tr>

尝试使用 sed 编辑文件,将值从 455 更改为 64。使用以下命令。

sed -i '/<th width='25%'><div class="detail"><b>VM Capacity<\/b><\/div><\/th>/!b;n;c<td width='75%'>64</td>/g' cluster_report.html

但文件保持不变。

答案1

在 sed 解析您的脚本之前,您的 shell 会弄乱单引号。尝试回显您的脚本,看看会发生什么。

.在这些情况下,我更喜欢用匹配模式中的 a 替换引号。这适用于现实世界的案例。

然后我不确定你的尾随/g应该做什么。这将是替换的一部分,这是您不想要的。为什么不简单地做

sed -i '/<th width=.25%.><div class="detail"><b>VM Capacity<\/b><\/div><\/th>/!b;n;s/455/64/' cluster_report.html

相关内容