Podemos hacer esto usando el siguiente método:
perl -F'/(A1:|B1:)/' -lane '
my %h = @F[1..$#F];
print map { "$_$h{$_} " } qw/A1: B1:/;
' input.txt
Salida:
A1: gml.com B1: Your Test mail
A1: abc.com B1: Hi there
A1: hml.com B1: Your new mail
A1: def.com B1: Test email
A1: yml.com B1: hello world
Explicación:
Хорошо, не знаю почему, но после того, как я перешел на использование оболочки bash, скрипт заработал. Оболочкой по умолчанию является тире.