Я думаю, что это будет работать:
perl -ne 'print if /text/ .. /END/'
expr1 .. expr2
будет ложным, пока не встретит строку, где expr1
- истина.
Тогда оно будет истинным, пока не встретит строку, где expr2
является истинным.
Обновление: , если вам нужно обрезать несовпадающий текст с начала первой совпадающей строки, это будет работать
perl -ne 'print if s/.*TEXT/TEXT/ .. s/END.*/END/`
или
perl -ne 'print if s/.*(TEXT)/$1/ .. s/(END).*/$1/'
если TEXT - длинная строка, которую вы хотите набрать только один раз. Изменение отредактирует строку, пока оно соответствует шаблону.