Como remover linhas duplicadas de uma lista

Cole um item por linha e pressione Remover linhas duplicadas. A primeira ocorrência de cada linha fica onde estava e as cópias seguintes são descartadas, então o resultado mantém a ordem original em vez de ordenar a lista.

A comparação é exata: “Apple” e “apple” são duas linhas diferentes, e “apple” e “apple ” com um espaço no fim também. As três caixas de seleção abaixo relaxam essa regra quando a lista veio de fontes diferentes.

  1. Cole a lista na caixa acima, um item por linha.
  2. Se precisar, marque Ignorar maiúsculas e minúsculas, Ignorar espaços no início e no fim, ou Remover linhas em branco.
  3. Pressione Remover linhas duplicadas, ou use Ctrl (Command no Mac) + Enter dentro da caixa.
  4. Leia a linha de status: linhas de entrada, removidas e de saída.
  5. Pressione Copiar para levar o resultado à área de transferência, ou Limpar para esvaziar a caixa e o resultado.

O que conta como duplicata e o que o resultado contém

Como cada linha é comparada

Cada linha é comparada exatamente como foi digitada, caractere por caractere. Maiúsculas e minúsculas contam (“Total” e “total” são linhas diferentes), um espaço no fim conta, e duas linhas que parecem iguais podem não ser: um espaço fixo (U+00A0) no lugar de um espaço comum, ou um acento escrito como caractere combinante em vez de um único ponto de código, mantêm as linhas separadas. É por isso que uma lista copiada de uma página web ou de um PDF às vezes mantém uma “duplicata” que o olho não vê.

Linhas em branco também contam como conteúdo. Uma sequência de linhas em branco se reduz a uma única linha, e uma lista que termina com quebra de linha é tratada como se terminasse no último item: a quebra não acrescenta mais uma linha vazia ao resultado, como fazia a versão anterior desta página.

Opções, contagens e resultado

Ignorar maiúsculas e minúsculas compara as linhas em minúsculas. Ignorar espaços no início e no fim apara cada linha e reduz sequências de espaços (tabuladores incluídos) a um único espaço, então “ JS tools ” corresponde a “js tools”. Remover linhas em branco tira as linhas vazias do resultado. A linha mantida é sempre a primeira como foi escrita, nunca a forma normalizada.

A linha “Linhas de entrada / Removidas / Linhas de saída” mostra o que aconteceu: as de entrada contam as linhas lidas (a quebra final não conta), as removidas contam cada linha descartada e as de saída as que restaram. O resultado é texto simples, pronto para colar em uma coluna de planilha, em uma lista IN de SQL ou em um array de código.

Privacidade, limites e precisão

A ferramenta roda neste navegador: lê o texto da caixa, deduplica localmente e mostra o resultado de novo, sem enviar nada. Medido nesta versão com Chrome real: nenhuma requisição sai da página enquanto uma lista é processada.

Resultados com mais de 50.000 caracteres aparecem sem cores de sintaxe, porque o realçador compartilhado para nesse ponto; o texto não muda. Linhas cujo valor coincide com o nome de uma propriedade de objeto JavaScript —toString, constructor, valueOf, hasOwnProperty, __proto__ e afins— eram apagadas pela versão anterior mesmo quando apareciam uma única vez. Esta versão as mantém, e é por isso que as contagens podem diferir das que a página devolvia antes.

Ferramentas recentes: