Использование perl
perl -pe 's/(@).*\.(.*)$/\1\2/' foo
или inline
perl -i -pe 's/(@).*\.(.*)$/\1\2/' foo
Пример
$ cat foo
foobar@example.org
john.smith@hotmail.com
chunkylover69@mail.dk
qwerty@yahoo.co.uk
$ perl -pe 's/(@).*\.(.*)$/\1\2/' foo
foobar@org
john.smith@com
chunkylover69@dk
qwerty@uk
[!d5 ] Пример
/(@).*\.(.*)$/
Первая группа захвата (@) @ буквально соответствует символу @ .* соответствует любому символу (кроме новой строки). Квантификатор: * Между нулевым и неограниченным временным интервалом, как можно многократно, при необходимости возвращается [жадный] \. соответствует символу . буквально второй группе захвата (.*) [ f14] соответствует любому символу (кроме новой строки). Квантификатор: * Между нулевым и неограниченным временным интервалом, как можно многократно, при необходимости возвращает [жадный] $ позицию в конце строки
Демоверсия Debuggex