используя решение от heferav, я не вижу ответа
$ more file
abcd@hotmail.com ; dfgh@hotmail.com ; mnop@hotmail.com ; fghk@hotmail.com
$ perl -ne 'print if s/\S+@hotmail\.com/wxyz@hotmail.com/g' file
wxyz.com ; wxyz.com ; wxyz.com ; wxyz.com
возможно я что-то упустил.
@OP, так как вы работаете в Solaris, я предполагаю, что вы можете использовать nawk
$ nawk '{ for(i=1;i<=NF;i++){gsub(/.*@hotmail.com/,"wxyz@hotmail",$i)} }1' file
wxyz@hotmail ; wxyz@hotmail ; wxyz@hotmail ; wxyz@hotmail