Это может работать для вас (GNU sed):
sed -n '/ABC/{:a;N;/EFG/!ba;p}' file
Отключить неявную печать с помощью параметра -n
.
Соберите строки между ABC
и EFG
и напечатайте их. Повторите.
Если вы хотите печатать только между первым экземпляром от ABC
до EFG
, используйте:
sed -n '/ABC/{:a;N;/EFG/!ba;p;q}' file
Для печати со второго по четвертое, используйте:
sed -En '/ABC/{:a;N;/EFG/!ba;x;s/^/x/;/^x{2,4}$/{x;p;x};x;}' file