Dev Tools

Remover linhas duplicadas

Mantém a primeira ocorrência de cada linha; opção de comparar após trim.

Remover linhas duplicadas

Como usar Remover linhas duplicadas

Duplicatas em texto podem parecer um problema menor, mas qualquer pessoa que já precisou limpar uma lista de e-mails, consolidar imports de TypeScript ou processar logs de servidor sabe o quanto elas atrasam. A lógica por trás da remoção de duplicatas é elegante: cria-se um conjunto (Set) que registra quais linhas já foram vistas; ao encontrar uma linha nova, ela vai para a saída; ao encontrar uma repetição, ela é silenciosamente descartada.

A escolha de manter a primeira ocorrência e não a última é deliberada. Na maioria dos casos de uso, a ordem original do documento tem significado: a primeira importação de uma dependência geralmente define o escopo, a primeira ocorrência de um endereço em uma lista consolidada costuma ser a mais confiável. Inverter a lógica e manter a última ocorrência é trivial, mas exige intenção consciente.

O detalhe que muda tudo é a estratégia de comparação: duas linhas com o mesmo conteúdo mas capitalização diferente são duplicatas? admin e Admin referem-se à mesma coisa em um arquivo de configuração? E a versão com espaços nas bordas? Para isso existem as opções de comparação case-insensitive e de trim antes de comparar. A linha exibida na saída é sempre a versão original da primeira ocorrência — a normalização acontece apenas durante a comparação, sem alterar o conteúdo.

Em bases de dados, o equivalente é o SELECT DISTINCT ou o GROUP BY. Em linguagens funcionais, é o nub de Haskell. Em Python, é o famoso dict.fromkeys(). Todos resolvem o mesmo problema com a mesma ideia central: um hash do valor como chave de um dicionário visitado.

Antes

a
b
a
b
c → a
b
c

Perguntas frequentes

Para que serve esta ferramenta?

Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.

Meus dados são enviados a algum servidor?

O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.

Posso usar em produção ou para dados reais?

Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.

Continue nas Dev Tools

Ferramentas relacionadas para acelerar tarefas comuns de desenvolvimento.