O arquivo a.txt
tem cerca de 100 mil palavras, cada palavra está em nova linha
july.cpp
windows.exe
ttm.rar
document.zip
O arquivo b.txt
possui 150 mil palavras, uma palavra por linha - algumas são do arquivo a.txt
, mas outras são novas:
july.cpp
NOVEMBER.txt
windows.exe
ttm.rar
document.zip
diary.txt
Como posso mesclar esses arquivos em um, excluir todas as linhas duplicadas e manter as linhas novas (linhas que existem a.txt
mas não existem b.txt
e vice-versa)?
text-processing
Kate-Kasia
fonte
fonte
Respostas:
Existe um comando para fazer isso:
comm
. Como afirmado emman comm
, é muito simples:Observe que
comm
espera que o conteúdo dos arquivos seja classificado, portanto, você deve classificá-los antes de chamácomm
-los, assim:Entao, para resumir:
Após os comandos acima, você terá as linhas esperadas no
result.txt
arquivo.fonte
Aqui está um pequeno script python3, baseado na resposta de Germar , que deve fazer isso, mantendo
b.txt
a ordem não classificada.fonte
fonte
Dê uma olhada no
comm
comando coreutils -man comm
Então, por exemplo, você pode fazer
(linhas exclusivas
b.txt
)fonte