나는 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