Вы можете использовать команду r
.Когда вы найдете «лису» во входных данных ...
/fox/{
... замените ее ни на что ...
s/fox//g
... и прочитайте входной файл:
r f.html
}
Если у вас есть файл, такой как:
$ cat file.txt
the
quick
brown
fox
jumps
over
the lazy dog
fox dog
, результат будет:
$ sed '/fox/{
s/fox//g
r f.html
}' file.txt
the
quick
brown
</div>
</div>
<br>
<div id="container2">
<div class="question" onclick="javascript:show('answer2')";>
jumps
over
the lazy dog
dog
</div>
</div>
<br>
<div id="container2">
<div class="question" onclick="javascript:show('answer2')";>
РЕДАКТИРОВАТЬ : изменитьфайл обрабатывается, просто передайте флаг -i
в sed:
sed -i '/fox/{
s/fox//g
r f.html
}' file.txt
Некоторые версии sed (например, моя собственная) требуют, чтобы вы передали расширение для флага -i
, который будетрасширение файла резервной копии со старым содержимым файла:
sed -i.bkp '/fox/{
s/fox//g
r f.html
}' file.txt
А здесь то же самое, что и с одним вкладышем, который также совместим с Makefile
sed -i -e '/fox/{r f.html' -e 'd}'