Remover linhas duplicadas
Organize uma lista: tire as repetições, ordene do jeito certo, remova linhas em branco. A ferramenta mostra quais linhas estavam duplicadas e quantas vezes, em vez de encolher sua lista sem dizer nada.
- Nunca armazenado
- Sem fila, sem espera
- Sem cadastro, sem marca d'água
Resultado aparece aqui.
Como funciona
Cole sua lista
E-mails, URLs, códigos de produto, qualquer coisa, um por linha. Ou solte um arquivo de texto.
Escolha o que “igual” significa
Ignore espaços no fim, ignore maiúsculas e minúsculas, mantenha a primeira ou a última cópia — ou remova toda linha que teve alguma duplicata.
Ordene e organize
Ordene de forma natural, inverta, embaralhe, numere as linhas ou remova as linhas em branco — depois copie o resultado.
O que acontece com as linhas que ficam
Há dois tipos diferentes de tratamento de espaços nesta página, e vale não confundi-los. Remover espaços para comparar monta a chave e nunca edita suas linhas — a cópia que fica mantém exatamente o espaçamento original. As opções de organização fazem o contrário: remover o recuo, reduzir sequências de espaços e tabulações e tirar os espaços das pontas das linhas são edições de verdade, e acontecem antes de qualquer remoção de duplicatas, então ativar uma delas muda discretamente o que conta como duplicata, além da aparência das linhas.
Uma linha em branco é comparada como qualquer outra linha, o que significa que toda linha em branco depois da primeira desaparece junto com as outras duplicatas — uma lista com espaçamento entre parágrafos volta com uma única linha em branco, na posição em que estava a primeira. E o relatório do que se repetiu mostra a chave, e não a sua linha: sem os espaços das pontas, e em minúsculas se você pediu para ignorar maiúsculas e minúsculas. Uma entrada que aparece na sua lista como Silva e como SILVA é, portanto, informada uma vez, em minúsculas, com contagem dois. Essa lista mostra no máximo as cinquenta mais comuns.
Seja o que for que entre, o que sai é unido só com quebras de linha simples (LF), então uma lista colada de um arquivo do Windows perde os retornos de carro no caminho — normalmente é o que você queria, e vale saber se você for colar o resultado de volta em algo que se importa com isso. Mais um efeito colateral: ativar “Ignorar maiúsculas e minúsculas” muda a ordenação além da comparação, e a ordenação então também deixa de distinguir letras acentuadas das sem acento, de modo que “avó” e “avo” saem juntos em vez de separados.
Quando você precisa de outra coisa
Quando a lista é na verdade uma tabela, comparar linhas é a ferramenta com o formato errado. Um CSV em que “duplicata” significa duas linhas que coincidem em uma coluna não é uma questão de texto, e tratá-lo assim ou deixa passar as duplicatas ou remove linhas que só pareciam iguais. O recurso Remover Duplicatas da própria planilha faz isso direito em um arquivo que você já tem aberto, e mlr uniq -g faz o mesmo na linha de comando, indicando o campo que decide, em qualquer tamanho.
Para uma lista grande demais para caber em uma aba, ou que você vai limpar de novo na semana que vem, a linha de comando resolve com uma única expressão que processa em fluxo: awk '!seen[$0]++' mantém a primeira cópia e a ordem original, que é exatamente o que esta página faz por padrão, em um arquivo maior que a sua memória. Ela não remove espaços, não ignora maiúsculas e minúsculas e não informa o que se repetiu — essa é a troca, e para um arquivo de dez milhões de linhas é a certa.
Perguntas frequentes
Minha lista fica armazenada em algum lugar?
Não. Nada fica armazenado e nenhuma requisição é feita. Você pode se desconectar da internet depois que a página carregar, e ela continua funcionando.
Por que ainda há duplicatas depois de removê-las?
Quase sempre por causa de espaços no fim da linha. Duas linhas que terminam com um número diferente de espaços parecem idênticas na tela e não são, então uma comparação exata mantém as duas — e você conclui que a ferramenta está com defeito. Por isso, aqui a remoção dos espaços antes de comparar vem ATIVADA por padrão. E, importante, ela só afeta a COMPARAÇÃO: a linha que fica mantém o texto original, porque editar suas linhas sem avisar não é o que “remover duplicatas” significa.
Qual cópia é mantida?
A primeira, por padrão, e a ordem das demais não é tocada — isso importa quando a lista já está em uma ordem que faz sentido. Você pode manter a última no lugar, ou remover toda linha que teve alguma duplicata, deixando só as linhas que apareceram exatamente uma vez. Essa última opção é o jeito de encontrar as entradas exclusivas de uma lista.
Por que a ordenação coloca item10 antes de item2?
Essa é a ordenação alfabética comum, em que “1” vem antes de “2” e o resto do número nunca chega a ser comparado. Ative a ordem natural e as sequências de dígitos são comparadas como números, então item2 vem antes de item10 — a ordem que uma pessoa espera. Textos acentuados também são tratados do jeito certo: uma comparação simples coloca “Zürich” depois de “Zyzzyva”, porque compara os números por trás das letras, e não as letras.
Ele mostra o que foi removido?
Sim — as linhas que apareceram mais de uma vez são listadas com as contagens, das mais comuns para as menos comuns. Saber QUAL entrada apareceu quatro vezes costuma ser mais útil do que saber que três linhas sumiram.
O embaralhamento é aleatório de verdade?
Sim. Ele usa o embaralhamento de Fisher-Yates com a fonte de aleatoriedade criptográfica do navegador. O atalho comum — ordenar com uma comparação aleatória — não é embaralhamento: algoritmos de ordenação pressupõem uma comparação consistente, e com uma aleatória o resultado fica mensuravelmente puxado para a ordem original. Se você está sorteando um ganhador de uma lista, essa diferença importa.
Existe limite de tamanho?
A memória disponível, e não um limite fixo de tamanho. Listas com centenas de milhares de linhas funcionam bem.
Bom saber: A ordenação usa as regras de idioma do seu navegador, então letras acentuadas e alfabetos diferentes ficam na ordem que um leitor espera, e não pelo valor dos bytes. Isso também significa que a ordem pode variar um pouco entre navegadores. Listas muito grandes ficam inteiras na memória.
Coloque esta ferramenta no seu site
Grátis para qualquer blog, página de turma ou artigo de ajuda. Cole um único trecho de código e seus visitantes podem usá-la direto na sua página.
Mais Ferramentas de texto
Contador de palavras
Palavras, frases e tempo de leitura
Converter maiúsculas e minúsculas
MAIÚSCULAS, minúsculas, Iniciais Maiúsculas, camelCase e mais
Comparar textos
Veja exatamente o que mudou entre duas versões
Contador de caracteres
Caracteres, bytes e o que o seu limite realmente conta
Minificar HTML
Reduza o HTML sem quebrar a página
Minificar CSS
Reduza uma folha de estilos, ou saiba por que não dá