Використовуючи 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
.