У меня есть блок текста, который мне нужно удалить, однако, только если он содержит определенный текст внутри блока:
...
<script language="JavaScript">
var somethingA = 0;
var somethingB = 0;
var somethingC = 0;
// do some stuff
</script>
<script language="JavaScript">
var somethingA = 0;
var somethingC = 0;
var somethingD = 0;
// do some stuff
</script>
....
Я хочу удалить только блок <script>
котором есть var somethingB
B. Может быть любое количество блоков <script>
в файле в любой позиции.
Я надеялся использовать sed, делая что-то вроде:
sed 's/<script/,/<\/script>/ D'
Тем не менее, я не могу понять, как удалить только блок с var somethingB
в нем.
PS: я также мог бы использовать perl или awk. Я бы предпочел использовать sed для согласованности, но если это проще в perl и / или awk, я бы довольно быстро переключал передачи. Спасибо!