найдите запись в 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

Но файл остается без изменений.

0
09.03.2019, 10:36
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
0
28.01.2020, 04:50

Теги

Похожие вопросы