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がスクリプトを解析する前に、シェルは一重引用符を混乱させます。スクリプトをエコーし​​て何が起こるかを確認してください。

.このような場合は、一致するパターンで引用符をに置き換えることをお勧めします。これは実際のケースに適用されます。

/gもしそうなら、あなたの末尾が何をすべきかわかりません。これはあなたが望んでいない交換の一部になります。ただやってはいけない理由

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

おすすめ記事