Você pode usar o comando paste da seguinte forma:
paste -d ': ' names.txt /dev/null mails.txt > result.txt
Explicação de como funciona:
Colar faz exatamente o que você quer. E você pode realmente concatenar várias colunas com ele, mas você só pode passar um caractere como o delimitador entre colunas, o que é um problema no seu caso, porque ':' são dois caracteres.
No entanto, há uma solução alternativa para isso e você pode usar o arquivo /dev/null , que é basicamente um arquivo nulo disponível em seu sistema.
Agora, colar pensa que você está concatenando três colunas juntas, a segunda sendo nula, portanto, coloca o primeiro caractere na lista de delimitadores (":") entre names.txt e null e, em seguida, coloca ("") entre null e mail.txt que somam ":" + "null" + " " , que é igual a ": " .