# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/^([^\s\@])+\@(([^\s\@\.])+\.)+([^\s\.]{2,})+$//gmi;t' <<< "test@rws.lt
res+ds@gmail.com
res-dsaf@f.com
4334-@fdf.fdsfdsfdsfs.dfsd
e@ds.lt
w.w@f.lt
w--w--we@d.lr
we@rer-rer.lt
wee@we.co.uk
mindaugas.dsd@dsfs.com
c@c.com
xn--iema-kbbc.lt@xn--iema-kbbc.lt
\"Joe.\\Blow\"@example.com
bc.123@example.com
reŠna@g.com
квіточка@пошта.укр
\"Fred\ Bloggs\"@example.com
dsad@dfs.c
ewr@rsrew@dsad.com
@gf.com
ree+er@.com
res@.lt
@.lt
res.lt
sad@
s@fdf..com
es@fdf..com
w@fdsf.
"
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html