Вы можете использовать флаг соответствия шаблону в sed
следующим образом:
echo "Hello world xxx this is a file yyy" | sed 's/.*xxx \(.*\)yyy/\1/'
Так .*xxx
будет соответствовать от начала до xxx
. Лучше всего это видно с помощью grep
:
\1
- это 'Remember pattern', который запоминает все, что находится в пределах \(.*\)
, поэтому от xxx
до yyy
, но не yyy
.
Наконец, выводится запомненная строка.