Some pointers: You can use sed s command to first replace the string '@.*' with the null string and then replace the string '.*:' with the null string, which leaves the word before the '@' but after the preceding ':'.
Another tip: using ; command separator character you can specify both s commands in one sed command line.
See sed man page for more info.
HTH,
p5wizard