como mesclar linha diferente em vários arquivos usando o terminal

-5

eu tenho dois arquivos (a.txt, b.txt)

a.txt

boy
girl
grade
test_1
test_2

b.txt

boy
girl
grade
test_3
test_4

agora eu quero mesclar esses dois arquivos (c.txt)

c.txt

boy
girl
grade
test_1
test_2
test_3
test_4

amigos por favor me ajudem! comando do terminal

    
por Shajini Arunakiri 07.12.2015 / 11:43

2 respostas

2
cat a.txt b.txt | sort | uniq > c.txt

Note que, isto pode funcionar para mais de 2 arquivos, em geral, o seguinte com concatena o conteúdo de file1, file2, ....., fileN em outputFile:

cat file1 file2 file2 file4 .... fileN | sort | uniq > outputFile 
    
por Tshilidzi Mudau 07.12.2015 / 11:53
0

Assumindo que a ordem das linhas não precisa ser preservada (neste caso específico, a ordem das linhas será preservada, mas isso pode não acontecer em outros casos, já que os arquivos serão mesclados em um único arquivo). arquivo, o arquivo único será classificado e suas linhas não exclusivas serão descartadas), usando sort :

sort -u a.txt b.txt >c.txt
  • -u : imprime apenas linhas exclusivas.
% cat a.txt
boy
girl
grade
test_1
test_2
% cat b.txt
boy
girl
grade
test_3
test_4
% sort -u a.txt b.txt >c.txt
% cat c.txt
boy
girl
grade
test_1
test_2
test_3
test_4
    
por kos 07.12.2015 / 12:38