procura por entrada no arquivo html e substitui o valor na próxima linha

0

Eu tenho um arquivo html abaixo é snippet do arquivo.

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

Tentando editar o arquivo usando sed para alterar o valor de 455 para 64. Usando o comando abaixo.

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

Mas o arquivo permanece inalterado, por favor avise.

    
por IgniteLX 12.09.2016 / 16:49

1 resposta

0

Antes de o sed poder analisar seu script, o seu shell atrapalhará as aspas simples. Tente repetir seu roteiro para ver o que acontece.

Nesses casos, prefiro substituir as aspas por um . no padrão correspondente. Isso funcionará para casos do mundo real.

Então, não tenho certeza do que seu /g está fazendo. Isso fará parte da substituição, que você não quer. Por que não simplesmente fazer

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

Tags