Como posso mesclar duas listas em coluna?

1

Eu preciso mesclar duas listas muito grandes juntas.

File1.txt

  • Washington |
  • Ohio |
  • Dublin |
  • Londres |
  • Milão |

File2.txt

  • Greg
  • Tom
  • Paulo
  • Sharon
  • Bill

Output.txt

  • Washington | Greg
  • Ohio | Tom
  • Dublin | Paulo
  • Londres | Sharon
  • Milão | Bill

Como posso fazer isso no Windows?

    
por Ninja2k 15.02.2013 / 14:57

4 respostas

1

Eu tenho uma solução de trabalho. Colou as linhas no Excel e as exportou como arquivo de texto, em vez de um arquivo XLS.

    
por 15.02.2013 / 16:53
0

Se não houver muitos dados, você poderá fazer isso com algo como o MS Office ou o LibreOffice. Carregue os dois arquivos de texto, recorte e cole-os em colunas diferentes em uma planilha (Col A para o arquivo 1, col b para o arquivo 2) e recorte e cole (texto especial, bruto) em um documento de texto.

Não é bonito, mas funcionará com algum trabalho manual de sua parte.

    
por 15.02.2013 / 15:44
0

Você pode fazer isso com o utilitário de linha de comando paste que vem com meu shell Hamilton C . Se isso é uma coisa de uma só vez, você ficará feliz com a versão gratuita da minha shell C. Divulgação completa: sou o autor.

paste -d 
176 C% cat File1.txt
Washington|
Ohio|
Dublin|
London|
Milan|
177 C% cat File2.txt
Greg
Tom
Paul
Sharon
Bill
178 C% paste -d 
179 C% \cygwin\bin\paste -d 
paste -d 
176 C% cat File1.txt
Washington|
Ohio|
Dublin|
London|
Milan|
177 C% cat File2.txt
Greg
Tom
Paul
Sharon
Bill
178 C% paste -d 
179 C% \cygwin\bin\paste -d %pre% File1.txt File2.txt
Gregington|
Tomo|
Paulin|
Sharon|
Billn|
File1.txt File2.txt Washington|Greg Ohio|Tom Dublin|Paul London|Sharon Milan|Bill
File1.txt File2.txt > Output.txt
File1.txt File2.txt Gregington| Tomo| Paulin| Sharon| Billn|
File1.txt File2.txt Washington|Greg Ohio|Tom Dublin|Paul London|Sharon Milan|Bill
File1.txt File2.txt > Output.txt

Veja o que parece nos seus dados:

%pre% O

Cygwin também inclui um paste , mas para usar esse, você precisa garantir que todas as linhas terminem com apenas uma nova linha ( \n ), estilo Unix, não uma combinação de linha de retorno de linha de retorno ( \r\n ) no estilo Windows ou você obterá isso:

%pre%

(O Cygwin paste trata o \r como um caractere comum. Na tela, ele move o cursor para o início da linha, sobrescrevendo o que estava lá.)

    
por 15.02.2013 / 16:58
0

linha de comando, var 1:

powershell $f1=gc File1.txt;$f2=gc File2.txt;for($i=0;$i-lt$f1.length;$i++){$f1[$i]+$f2[$i]}>Output.txt

linha de comando, var 2:

powershell $f1=gc File1.txt;$f2=gc File2.txt;for($i=0;$i-lt$f1.length;++$i){$f1[$i]+$f2[$i]^>^>Output.txt}

paste-d.ps1

$f1=gc File1.txt;$f2=gc File2.txt;for($i=0;$i-lt$f1.length;++$i){$f1[$i]+$f2[$i]>>Output.txt}
    
por 15.02.2013 / 20:44

Tags