UltKit

Ordenar linhas

Coloque qualquer lista em ordem: alfabética nos dois sentidos, natural, pelo primeiro número de cada linha, pelo comprimento ou embaralhada ao acaso. A ordenação segue as regras de idioma do seu próprio navegador e é feita inteiramente no seu dispositivo.

Ordem

0 caracteres · 0 palavras · 0 linhas

0 caracteres · 0 palavras · 0 linhas

Funciona inteiramente nesta aba do navegador. Seu texto nunca é enviado nem armazenado.

O que faz

Ordenar linhas reordena as linhas em ordem alfabética com a ordenação sensível ao idioma do seu navegador, em ordem natural (file2 antes de file10), pelo primeiro número de cada linha, por comprimento ou em ordem aleatória.

Antes
item 10
item 9
Item 1
Depois
Item 1
item 9
item 10

Ordem alfabética não é o mesmo que ordem por código de caractere

A forma mais simples de um computador ordenar texto é pelo código do caractere, e isso dá resultados estranhos: toda letra maiúscula (códigos 65 a 90 no ASCII) vem antes de toda letra minúscula (97 a 122), então "Zebra" fica antes de "apple", e as letras acentuadas vão parar depois do z. As pessoas esperam a ordem do dicionário, que os linguistas chamam de collation (ordenação por regras de idioma). Esta ferramenta usa o Intl.Collator, a implementação do navegador para o Unicode Collation Algorithm, então "apple", "Banana" e "éclair" são ordenados como o leitor espera.

A ordenação também depende do idioma. Nos dicionários alemães, ä fica junto de a, enquanto no sueco å, ä e ö vêm depois do z, no fim do alfabeto. A ferramenta usa o idioma padrão do seu navegador, então uma lista ordenada em um sistema em sueco segue as regras do sueco. Com a opção de ignorar maiúsculas e minúsculas ativada, letras que diferem só pela caixa ou pelo acento são tratadas como iguais e a ordem é decidida pela diferença seguinte.

Ordem natural, numérica e por comprimento

A ordem alfabética compara os dígitos um a um, então "file10" vem antes de "file2", porque 1 é menor que 2. A ordem Natural lê sequências de dígitos como números inteiros e resulta em file1, file2, file10, como os gerenciadores de arquivos, como o Windows Explorer e o Finder do macOS, exibem os nomes. Use para títulos de capítulos, listas de versões, números de notas fiscais e nomes de fotos como IMG_9 e IMG_10.

A ordem Numérica procura o primeiro número de cada linha, incluindo o sinal de menos e as casas decimais, e ordena pelo valor dele, o que serve para listas de preços, pontuações e linhas como "12 maçãs". Linhas sem número vão para o fim. A ordem por Duração ordena pela quantidade de caracteres visíveis, do menor para o maior, com empates desfeitos em ordem alfabética; é útil para achar os nomes de domínio mais curtos ou identificar entradas cortadas.

Como funciona o embaralhamento

O embaralhamento usa o algoritmo de Fisher–Yates (publicado por Ronald Fisher e Frank Yates em 1938 e adaptado para computadores por Richard Durstenfeld em 1964), que percorre a lista do fim para o começo e troca cada linha por outra escolhida ao acaso entre ela e as anteriores. Com uma boa fonte de aleatoriedade, todas as ordens são igualmente prováveis. Os números aleatórios vêm do mulberry32, um pequeno gerador pseudoaleatório com semente, então o embaralhamento se mantém igual até você pedir um novo. Como seu estado tem 32 bits, ele produz no máximo cerca de 4,3 bilhões de embaralhamentos diferentes, menos que os 6,2 bilhões de ordens possíveis de apenas 13 linhas. Isso basta para perguntas de quiz, playlists e para sortear a ordem de apresentações, mas não para loterias nem para nada que envolva dinheiro ou segurança.

Para limpar uma lista antes de ordenar, passe-a primeiro por Remover linhas duplicadas.

Perguntas frequentes

Por que file10 aparece antes de file2?
A ordem alfabética simples compara caractere por caractere, e 1 vem antes de 2. Escolha a ordem natural, que trata cada sequência de dígitos como um número, para obter file2 antes de file10.
A ordenação coloca as palavras em maiúsculas primeiro?
Não. A ordenação usa regras de idioma, então apple e Apple ficam lado a lado. Só a ordenação simples por código de caractere coloca todas as maiúsculas antes de todas as minúsculas.
O embaralhamento é realmente aleatório?
Ele usa um embaralhamento de Fisher–Yates sem viés, movido por um gerador pseudoaleatório rápido com semente. É justo o bastante para o uso cotidiano, mas não serve para sorteios, loterias nem segurança.
Para onde vão as linhas sem número na ordem numérica?
Para o fim da lista, em ordem alfabética entre si. As linhas que têm número são ordenadas pelo valor do primeiro número encontrado na linha.
Posso ordenar linhas em ordem alfabética inversa?
Sim, escolha Z→A. Ela usa a mesma comparação por regras de idioma que A→Z, só que invertida, então palavras acentuadas e com maiúsculas continuam em posições coerentes.