Я хотел бы знать, как:
Замените все строки между двумя совпадающими шаблонами (не включая шаблоны - эксклюзивно). Обратите внимание, что они будут на отдельных строках.
Замените все строки между двумя совпадающими шаблонами и включая их (включительно). Обратите внимание, что они будут в отдельных строках. Я начал первым, но это не дало желаемых результатов (на самом деле пока никаких результатов). Имейте в виду, что это для sed на Mac OSX (BSD). Шаблон в этом случае представляет собой два HTML-комментария в отдельных строках.
Мой сценарий оболочки выглядит так:
REPLACEWITH="Replacement text here"
sed -i '' -e "s&\(<!--BeginNotes-->\).*\(<!--EndNotes-->\)&\1$REPLACEWITH\2&" /Users/BlaNameHere/builds/development/index.php
В заголовке моего файла index.php есть этот отрывок:
<!--BeginNotes-->
<!--asdasd-->
<script type="application/javascript">var Jaop;</script>
<!--EndNotes-->
пример результата а
<!DOCTYPE html>
<html>
<head>
<title></title>
<!--BeginNotes-->
Replacement text here
<!--EndNotes-->
</head>
<body>
</body>
</html>
пример результата b
<!DOCTYPE html>
<html>
<head>
<title></title>
Replacement text here
</head>
<body>
</body>
</html>