Como mesclar dois arquivos contendo listas para um arquivo com duas colunas?

0

Eu tenho o arquivo mail.txt que contém a lista de alguns e-mails e o arquivo names.txt que inclui os nomes dessas pessoas de acordo. Agora quero combinar esses arquivos em um arquivo com a seguinte estrutura:

name1: email1
name2: email2
.
.
.

É possível conseguir isso com o bash?

    
por tgwtdt 01.01.2018 / 21:38

1 resposta

3

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 ": " .

    
por 01.01.2018 / 21:39