Comparando vários arquivos de dados

0

Eu tenho vários arquivos contendo dados de texto. Eu preciso de cada arquivo individual para ter apenas linhas exclusivas contra todos os outros arquivos de texto. Por exemplo, textfile1 tem uma entrada de linha chamada "foobar", mas o mesmo também textfile15. Qual é a melhor maneira de realizar uma comparação da exclusividade das linhas individuais em relação a vários arquivos?

    
por mrnr1 30.09.2015 / 17:25

1 resposta

0

Para descobrir se todos os arquivos de texto são exclusivos:

cat *.txt | wc -l ; cat *.txt | sort -u | wc -l

Se as linhas coincidirem, elas são únicas.

Para descobrir quais duplicatas estão presentes:

cat *.txt | sort | uniq -d 

Aqui está um cenário mais completo: Eu tenho músicas baixadas. Quando baixo novas músicas, quero garantir que não estou repetindo. Então eu faria

find . -name *.txt | sort -u > catalog.music  

Agora, suponha que eu encontre uma playlist que eu baixaria depois. E esta lista de reprodução está em downloadNew.txt. Eu faria

grep -F -f downloadNew.txt catalog.music 

Se a pesquisa não for bem-sucedida, o downloadNew.txt será exclusivo, caso contrário, duplicatas estarão presentes.

    
por Amit 02.10.2015 / 12:04