Не слишком поздно, но downvoters должны включить, что * NIX grep имеет несколько ограничений и lookaround / lookbehind / etc., Фактически не работают на большинстве версий.
http://www.regular -expressions.info / grep.html
Поскольку ни grep, ни egrep не поддерживают какие-либо специальные функции, такие как ленивое повторение или обход,
Только недавно он был добавлен в недавно выпущенный GNU grep (3.0?), В котором в основном использует регулярное выражение, совместимое с perl
https://www.gnu.org/software/grep/manual/grep.html#The-Backslash-Character-and-Special-Expressions
-P
--perl-regexp Интерпретировать шаблон как Perl-совместимое регулярное выражение (PCRE). Это очень экспериментально, особенно в сочетании с опцией -z (--null-data), и «grep -P» может предупредить о невыполненных функциях.
При обновлении моего grep и использовании -P , это работает как шарм
$cat test.txt | ggrep -oP '(?<=11Xy)(.*?)(?=d223)'
slas
$ggrep --version
ggrep (GNU grep) 3.1
Packaged by Homebrew
Copyright (C) 2017 Free Software Foundation, Inc.
...