Ordenar, deduplicar e limpar linhas

Ordene linhas, remova duplicatas e linhas vazias, remova espaços nas pontas.

Sobre esta ferramenta

Cole uma lista e faça a limpeza: remova espaços nas pontas, linhas vazias e duplicatas (opcionalmente ignorando maiúsculas e minúsculas) e ordene em ordem alfabética, natural (para que item2 venha antes de item10), por tamanho, invertida ou embaralhada.

Como usar

  1. Cole uma lista com um item por linha.
  2. Escolha o que limpar: remover espaços nas pontas, remover linhas vazias, remover duplicatas (opcionalmente ignorando maiúsculas e minúsculas).
  3. Escolha uma ordenação: natural, A a Z, Z a A, por tamanho, invertida ou embaralhada.
  4. Copie o resultado. A linha de status mostra quantas linhas e duplicatas foram removidas.

Perguntas

O que é ordenação natural?
A ordenação natural compara os números dentro do texto pelo valor, então item2 vem antes de item10. Uma ordenação alfabética simples colocaria item10 primeiro, porque 1 vem antes de 2.
Qual duplicata é mantida?
A primeira ocorrência de cada linha é mantida e as cópias posteriores são removidas, então a ordem original é preservada, a menos que você também ordene.
O embaralhamento é aleatório o bastante para um sorteio?
Usa o gerador aleatório criptograficamente seguro do navegador com um embaralhamento Fisher–Yates sem viés, então todas as ordens são igualmente prováveis.
Por que algumas linhas duplicadas não são removidas?
As linhas parecem iguais, mas não são idênticas. As causas comuns são caracteres invisíveis: um espaço não separável no lugar de um espaço normal no meio da linha, um espaço de largura zero copiado de uma página web, ou duas formas Unicode da mesma letra acentuada. Remover espaços nas pontas só limpa as pontas da linha, e com Ignorar maiúsculas e minúsculas desativado, Apple e apple continuam separadas.
Dá para contar quantas vezes cada linha aparece?
Aqui não. A linha de status só mostra quantas duplicatas foram removidas no total. Para contar as ocorrências, use o shell: sort list.txt | uniq -c | sort -rn imprime cada linha distinta com sua contagem, as mais frequentes primeiro.
Quantas linhas a ferramenta aguenta?
Não há limite fixo. Listas com dezenas de milhares de linhas são processadas enquanto você digita, e Abrir arquivo aceita arquivos de texto de até 50 MB. Tudo roda no seu navegador, então arquivos muito grandes dependem da memória do seu dispositivo, e nada é enviado.

Como remover linhas duplicadas de uma lista

Cole a lista, deixe Remover duplicatas ativado, e toda linha que já apareceu antes é descartada. Com Ignorar maiúsculas e minúsculas ativado, Apple e apple contam como a mesma linha, e a grafia da primeira é mantida. Remover espaços nas pontas roda antes da deduplicação, então “apple ” com um espaço no final corresponde a “apple”, que é o motivo mais comum de uma deduplicação parecer deixar passar cópias óbvias. A linha de status mostra a contagem de linhas antes e depois.

Usos típicos para remover linhas duplicadas incluem limpar uma lista de e-mails antes de uma importação, juntar duas listas de hostnames ou de nomes de pacotes e listar os valores únicos de uma coluna de planilha, que você pode copiar do Excel e colar direto. Para endereços de e-mail, Ignorar maiúsculas e minúsculas costuma ser o certo, já que domínios não diferenciam maiúsculas de minúsculas e a maioria dos provedores também ignora isso na parte do nome. Para caminhos de arquivo e IDs que diferenciam maiúsculas de minúsculas, desative.

Ordenar linhas online ou com o comando sort do Unix

A a Z e Z a A ordenam as linhas com as regras de localidade do seu navegador, ignorando maiúsculas, minúsculas e acentos, então apple, Banana e Éclair saem em ordem de dicionário. A ordenação simples por bytes, como a do sort com LC_ALL=C ou a do Array.prototype.sort() sem comparador, coloca todas as letras maiúsculas antes de todas as minúsculas e as letras acentuadas depois do z. Por tamanho coloca as linhas mais curtas primeiro e desempata em ordem natural.

Para referência, os equivalentes no Unix são sort -u para ordenar e remover duplicatas, sort -f para ignorar maiúsculas e minúsculas, sort -V para ordem natural ou de versões, e uniq, que só remove duplicatas adjacentes e por isso costuma rodar depois do sort. Diferente do uniq, esta ferramenta remove duplicatas em qualquer ponto da lista e pode manter a ordem original quando Ordenar está em Manter a ordem. Embaralhar deixa a lista em ordem aleatória, e Embaralhar de novo gera uma nova ordem.

Como remover linhas vazias e espaços em branco

Remover linhas vazias descarta as linhas vazias ou que só contêm espaços e tabs, para que as lacunas que sobram ao copiar uma tabela ou um log não fiquem. Remover espaços nas pontas tira os espaços em branco do início e do fim de cada linha, incluindo tabs e os espaços não separáveis que costumam vir de páginas web e PDFs. Desative essa opção quando a indentação importar, por exemplo em um bloco YAML ou em um trecho de Python, e remova só as linhas vazias.

As quebras de linha são normalizadas no caminho. Entradas com CRLF do Windows e LF do Unix são divididas corretamente em linhas, e o resultado sempre usa quebras de linha LF. Isso faz das ferramentas de linhas um jeito rápido de limpar uma lista copiada do Excel ou de um arquivo de texto do Windows antes de colá-la em um shell script, em um arquivo .gitignore ou em uma configuração. Para listas longas, Baixar salva o resultado como lines.txt.

Algo não está funcionando ou um resultado parece errado? Relatar um problema com esta ferramenta