Ordenador, removedor de duplicados e misturador de listas
Cole, arraste ou receba uma lista e monte uma receita por cima: ordenar, remover duplicados, filtrar, renumerar, misturá-la com uma segunda lista. Cada passo continua editável, nada corre até você adicionar, e a lista nunca sai do seu navegador.
Ainda sem operações
A sua lista está intacta. Escolha uma operação acima e ela aparece aqui, onde pode reordená-la, afiná-la ou desligá-la.
Como funciona
Traga a lista
Cole-a, largue um .txt ou .csv na página, ou receba-a de outra ferramenta. Só fica carregada: ainda não lhe é aplicado nada.
Empilhe as operações
Cada uma que escolhe junta-se a uma receita em vez de sobrescrever o resultado, por isso pode reordená-la, mudar as opções depois ou desligá-la para ver o que fazia.
Afine e meça
Cada passo mostra quantos itens removeu ou reescreveu, por isso «remover duplicados» passa a ser um número verificável, não um palpite.
Leve-a consigo
Copie-a, descarregue-a, dê-lhe forma de lista IN de SQL ou de array JSON, ou envie-a direta para outra ferramenta da suite.
Uma receita, não uma edição sem retorno
O resultado deriva da sua lista mais um conjunto ordenado de passos. Nada é sobrescrito, por isso mudar de ideias sobre o segundo passo custa um clique em vez de começar do zero.
Uma ordenação que respeita o seu idioma
A comparação passa por um único Intl.Collator criado para o idioma da página, com ordem numérica natural e dobragem opcional de maiúsculas e acentos, em vez de um colador por comparação.
Duas listas, cinco formas de as misturar
Fique com o que está em ambas, só com o de A, com o que nenhuma partilha, com a união, ou alterne item a item — dobrando maiúsculas e espaços quando precisar.
Sorteios que se defendem
Baralhar e escolher usam o gerador criptográfico do navegador, por isso um sorteio é imprevisível. Dê-lhe uma semente e qualquer pessoa que a conheça repete exatamente o mesmo sorteio.
Listas grandes continuam fluidas
Passados vinte mil itens a cadeia vai para uma linha de fundo, e passados quatrocentos mil caracteres espera que prima Executar em vez de adivinhar.
Sai com a forma de que precisa
Um clique transforma o resultado em CSV com aspas, array JSON, cláusula IN de SQL, array de JavaScript, lista de Markdown ou itens de lista HTML — ou defina você o invólucro.
Rápida pela forma como está feita, não por ser pequena
A ordenação constrói um único Intl.Collator e reutiliza-o em toda a passagem. Uma ordenação A-Z simples ganha pouco com isso — os navegadores já guardam em cache o colador por omissão —, mas é o que torna acessíveis as opções úteis: em 60 000 linhas, a ordem numérica natural com dobragem de acentos leva cerca de 0,7 s com um colador reutilizado e cerca de 9 s quando essas opções são passadas ao localeCompare em cada comparação, à volta de catorze vezes mais lento. Tudo o que passa de vinte mil itens vai ainda para um Web Worker, por isso a página continua a deslizar enquanto trabalha, e o histórico de desfazer guarda os seus passos, não cópias do texto.
Privada porque não há para onde a enviar
Não há servidor, nem envios, nem análise do seu conteúdo, nem qualquer script de terceiros envolvido no processamento. A sua lista vive na memória do separador e em mais lado nenhum; fechar o separador é o botão de apagar.
Feita para as listas que as pessoas têm de verdade
O resultado deriva da sua lista mais a receita, por isso nada do que faz é uma porta de sentido único. Desligue um passo para ver exatamente o que dava, mova-o para antes, mude o separador de uma numeração que juntou dez operações atrás, ou desfaça as últimas trinta edições. Escrever na caixa de entrada já não deita fora o seu trabalho.
Cole qualquer lista e empilhe as operações de que precisa: ordenar alfabética, numericamente ou por comprimento, remover ou isolar duplicados, apagar itens vazios, aparar espaços, mudar maiúsculas, filtrar por texto ou por regex, renumerar, juntar prefixos, escolher vencedores ao acaso, ou misturá-la com uma segunda lista. Cada passo é um cartão que pode reordenar, afinar ou desligar.
Perguntas frequentes
QPosso empilhar várias operações?+
É essa a ideia toda. Cada operação que escolhe passa a ser um cartão de uma receita que corre de cima para baixo. Pode reordenar os cartões, mudar as opções depois, desligar um para ver o que fazia, ou apagá-lo — e o resultado volta a derivar da sua lista original de cada vez. Nada é sobrescrito.
QEditar a entrada destrói as minhas operações?+
Não. A lista e a receita são separadas: edite a lista e a mesma receita corre de novo sobre o texto novo. Essa era a única armadilha real da versão anterior desta ferramenta, onde escrever um único carácter reiniciava a saída.
QPorque é que a ordenação põe item10 antes de item2?+
Porque a ordem alfabética simples compara «1» com «2» carácter a carácter. Mude o cartão de ordenação para 1-9 e passa a usar ordem numérica natural, por isso item2 vem antes de item10. A opção comp ordena por comprimento do item, e Aa dobra maiúsculas e acentos.
QComo comparo duas listas?+
Junte uma operação «Misturar com a lista B» e aparece uma segunda caixa. Pode ficar só com os itens presentes nas duas listas, só com os de A, só com os que nenhuma partilha, com a união das duas, ou alternar entre elas. A dobragem de maiúsculas e espaços são interruptores, por isso «Ana » e «ana» podem contar como a mesma entrada.
QO baralhar é justo o suficiente para um sorteio?+
Sim. É um baralhar de Fisher-Yates sobre a fonte de acaso criptográfico do navegador com amostragem por rejeição, por isso todas as ordens são igualmente prováveis, ao contrário do habitual Math.random. Se preferir poder provar o sorteio, escreva uma semente: anuncie-a antes e qualquer pessoa repete exatamente o mesmo resultado depois.
QQue tamanho de lista aguenta?+
Ficheiros até 8 MB, ou seja, cerca de meio milhão de linhas normais. Passados vinte mil itens o trabalho vai para uma linha de fundo, e passados quatrocentos mil caracteres a ferramenta deixa de correr sozinha e espera que prima Executar, por isso colar algo enorme nunca congela o separador.
QPosso corrigir alguma coisa à mão?+
Prima «Editar à mão» e a caixa do resultado fica editável, com a receita em pausa. As suas edições manuais têm níveis próprios de desfazer, e «Voltar à receita» regressa ao resultado derivado. Também pode trabalhar assim desde o início e nunca juntar operação nenhuma.
QA minha lista é enviada para algum lado?+
Não. Cada operação é JavaScript comum a correr no seu separador: não há servidor envolvido nem qualquer pedido que leve o seu conteúdo. A ferramenta funciona também com a rede desligada depois de a página carregar.