Если вопрос «Как я могу печатать только подстроки, которые соответствуют определенному регулярному выражению, используя sed
?»тогда это будет действительно трудно достичь (и не является очевидным решением).
grep
может быть более полезным в этом случае.Опция -o
печатает каждую соответствующую часть в отдельной строке, -P
включает синтаксис регулярных выражений PCRE:
$> echo "a b _c d _e f" | grep -o -P "(\ *_[a-z]+)"
_c
_e
И, наконец,
$> echo `echo "a b _c d _e f" | grep -o -P "(\ *_[a-z]+)"`
_c _e