Используя awk
или sed
как я могу выбрать линии, которые встречаются между двумя разными шаблонами маркеров? Эти шаблоны могут быть отмечены несколькими разделами.
Например: предположим, что файл содержит:
abc
def1
ghi1
jkl1
mno
abc
def2
ghi2
jkl2
mno
pqr
stu
И начальный образец, abc
а конечный образец - mno
Итак, мне нужен вывод как:
def1
ghi1
jkl1
def2
ghi2
jkl2
Я использую sed, чтобы один раз сопоставить шаблон:
sed -e '1,/abc/d' -e '/mno/,$d' <FILE>
Есть ли способ sed
или awk
не делать это несколько раз до конца файла?
awk '/abc/{a=1}/mno/{print;a=0}a' file
.