История изменений
Исправление kaldeon, (текущая версия) :
Я не понял полностью пример, поэтому попробую начать с простого:
echo '<% for @list -> $i, $j {... } %>' |sed -r 's/<%(([^%]|%[^>])+)%>/\1/'
Данное выражение просто вырезает текст между <% и %>. [^%]|%[^>]
сделано, чтобы вырезать текст до первого вхождения %>
.
В чём проявляется ограничение данного решения?
Исходная версия kaldeon, :
Я не понял полностью пример, поэтому попробую начать с простого:
echo '<% for @list -> $i, $j {... } %>' |sed -r 's/<%(([^%]|%[^>])+)%>/\1/'
Данное выражение просто вырезает текст между <% и %>. [^%]|%[^>]
сделано, чтобы вырезать текст до первого вхождения %>
.