Como remover linhas duplicadas: Excel, Notepad ++, linha de comando e maneira rápida
Remover linhas duplicadas de uma lista parece trivial até que você realmente precise fazer isso em dados reais. Mescle duas listas de discussão e elas colidirão. Exporte um relatório de palavras-chave e o mesmo termo aparecerá quinze vezes. Cole um arquivo de log e repita metade das linhas. Existem várias maneiras de desduplicar uma lista, e cada uma tem um problema que os tutoriais rápidos raramente mencionam, especialmente em relação à preservação da ordem original e à captura de duplicatas que não são exatamente idênticas.
O método Excel e onde ele falha
O Excel possui um botão "Remover duplicados" integrado na guia Dados e, para dados limpos, funciona bem: selecione sua coluna, clique no botão e pronto. Os problemas começam com dados confusos. A ferramenta do Excel remove apenas linhas exatamente idênticas, portanto, "maçã" e "maçã", uma com espaço à direita, são tratadas como diferentes e ambas sobrevivem. O mesmo vale para "Apple" versus "apple" se você precisar de correspondência sem distinção entre maiúsculas e minúsculas; A comparação padrão do Excel manterá ambos. E você tem que carregar sua lista em uma planilha e configurá-la primeiro como uma coluna adequada, o que é um atrito se você tiver apenas um bloco de texto.
O Excel é uma escolha razoável quando seus dados já estão em uma planilha e estão limpos. Para uma rápida desduplicação do texto colado ou quando há inconsistências de espaços em branco e letras maiúsculas, geralmente é mais problemático do que vale a pena.
Notepad++ e o problema do pedido
O Notepad ++ pode remover linhas duplicadas por meio de seu plugin TextFX, que é popular entre os desenvolvedores do Windows. Mas há um problema significativo: a função “remover linhas duplicadas” do TextFX também classifica suas linhas em ordem alfabética como efeito colateral. Se a ordem da sua lista for importante, um registro cronológico, uma lista classificada, uma sequência de etapas, o Notepad++ irá embaralhá-la. Você obtém linhas exclusivas, mas não na ordem em que começou. Para muitas tarefas, isso é um obstáculo.
A linha de comando: sort e uniq
No Linux e no macOS, a abordagem clássica é o comando uniq. O problema aqui é fundamental: o uniq remove apenas linhas duplicadas adjacentes umas às outras. Se suas duplicatas estiverem espalhadas pelo arquivo, o uniq irá perdê-las. A solução padrão é classificar o arquivo primeiro e canalizá-lo para o uniq, mas a classificação, novamente, destrói sua ordem original. Existem one-liners mais avançados com awk que preservam a ordem, mas agora você está escrevendo código para o que deveria ser uma tarefa de um clique e é fácil errar.
A linha de comando é poderosa e programável, ideal quando a eliminação de duplicação faz parte de um pipeline automatizado maior. Para um trabalho único em uma lista que você tem à sua frente, o custo de configuração é alto.
O problema que todos compartilham: quase duplicatas
Cada método acima, por padrão, captura apenas duplicatas exatas. Mas as duplicatas do mundo real muitas vezes não são exatas. O mesmo endereço de e-mail aparece como “Nome@site.com” e “nome@site.com”. A mesma entrada tem um espaço à direita em uma linha. O mesmo nome é maiúsculo de forma diferente. Essas quase duplicatas passam pelas ferramentas de correspondência exata, deixando você com uma lista que parece limpa, mas não é. Limpar verdadeiramente uma lista significa ser capaz de ignorar maiúsculas e minúsculas e cortar espaços em branco durante a comparação, opções que o Excel e o uniq básico não oferecem facilmente.
A maneira mais rápida: uma ferramenta de navegador que preserva a ordem
Para o caso comum, você tem uma lista, deseja linhas exclusivas e deseja manter a ordem original, uma ferramenta baseada em navegador é o caminho mais rápido. Cole a lista e obtenha o resultado desduplicado instantaneamente, com a primeira ocorrência de cada linha permanecendo exatamente onde estava. Nenhuma configuração de planilha, nenhum plugin, nenhum comando para lembrar, nenhuma classificação forçada. Boas ferramentas também permitem alternar a correspondência sem distinção entre maiúsculas e minúsculas e o corte de espaços em branco, para que você capture as quase duplicatas que os outros métodos perdem.
Como uma ferramenta do lado do cliente processa tudo em seu navegador, nada é carregado, o que é importante quando a lista é uma lista de e-mail ou quaisquer dados que você não gostaria de enviar para um servidor. E não há limite prático além da memória do seu navegador, portanto, dezenas de milhares de linhas são processadas instantaneamente.
Um fluxo de trabalho comum: desduplicar e depois classificar
A desduplicação e a classificação geralmente são duas metades de um trabalho de limpeza. Um padrão frequente é remover primeiro as duplicatas, mantendo a ordem e, em seguida, classificar deliberadamente o resultado limpo, exatamente o que você deseja ao preparar uma lista de referências organizada, um conjunto limpo de palavras-chave ou um glossário em ordem alfabética. Fazer isso nessa ordem significa que você faz uma passagem limpa para exclusividade e uma passagem deliberada para ordem, em vez de permitir que uma ferramenta classifique sua lista como um efeito colateral indesejado.
Qual método usar
Escolha o Excel quando os dados já estiverem em uma planilha limpa. Escolha a linha de comando quando a eliminação de duplicação for uma etapa de um script automatizado. Use uma ferramenta de navegador quando tiver uma lista à sua frente e quiser que ela seja desduplicada em segundos, com ordem preservada e quase duplicatas capturadas, o que, para a maioria das pessoas na maioria das vezes, é exatamente a situação.