Using grep -oP
:
s='<some text> from=someuser@somedomain.com, <some text>'
grep -oP '(?<=from=).*?(?=,)' <<< "$s"
someuser@somedomain.com
OR else avoid lookbehind
by using \K
:
grep -oP 'from=\K.*?(?=,)' <<< "$s"
someuser@somedomain.com
In case your grep
doesn't support -P
(PCRE) use this sed:
sed 's/.*from=\(.*\),.*/\1/' <<< "$s"
someuser@somedomain.com