我有一个 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