У меня есть 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
Но файл остается без изменений.
Прежде чем sed сможет проанализировать ваш скрипт, ваша оболочка испортит одинарные кавычки. Попробуйте повторить свой сценарий, чтобы увидеть, что произойдет.
В таких случаях я предпочитаю заменять кавычки на .
в шаблоне сопоставления. Это будет работать для реальных случаев.
Тогда я не уверен, что должен делать ваш трейлинг / g
. Это будет часть замены, которая вам не нужна. Почему бы просто не сделать
sed -i '/<th width=.25%.><div class="detail"><b>VM Capacity<\/b><\/div><\/th>/!b;n;s/455/64/' cluster_report.html