Eliminar líneas duplicadas
Limpia una lista: quita las repeticiones, ordénala como corresponde y elimina las líneas en blanco. Te dice qué líneas estaban duplicadas y cuántas veces, en lugar de acortar tu lista sin avisar.
- Nunca se guarda
- Sin filas ni esperas
- Sin registro, sin marca de agua
Aquí aparece: Resultado.
Cómo funciona
Pega tu lista
Correos electrónicos, URL, códigos de producto, cualquier cosa, uno por línea. O suelta un archivo de texto.
Elige qué significa “igual”
Ignora los espacios finales, ignora las mayúsculas y minúsculas, conserva la primera o la última copia, o elimina todas las líneas que tenían algún duplicado.
Ordena y limpia
Ordena de forma natural, invierte, mezcla, numera las líneas o quita las líneas en blanco, y luego copia el resultado.
Qué les pasa a las líneas que conservas
En esta página hay dos tipos distintos de tratamiento de espacios, y vale la pena no confundirlos. Recortar para comparar construye la clave y nunca edita tus líneas: la copia que se conserva mantiene exactamente su espaciado original. Las opciones de limpieza hacen lo contrario: quitar la sangría, reducir secuencias de espacios y tabulaciones y quitar los espacios de los extremos de las líneas son ediciones reales, y ocurren antes de eliminar duplicados, así que activar una cambia sin avisar qué cuenta como duplicado, además del aspecto de las líneas.
Una línea en blanco se compara como cualquier otra, lo que significa que todas las líneas en blanco después de la primera desaparecen junto con los demás duplicados: una lista con espacios entre párrafos vuelve con una sola línea en blanco, en la posición que ocupaba la primera. Y el informe de lo que se repitió muestra la clave y no tu línea: recortada, y en minúsculas si pediste ignorar las mayúsculas y minúsculas. Una entrada que aparece en tu lista como Smith y como SMITH se informa, por lo tanto, una sola vez, en minúsculas, con un conteo de dos. Esa lista se limita a las cincuenta más frecuentes.
Entre lo que entre, lo que sale se une solo con saltos de línea simples, así que una lista pegada desde un archivo de Windows pierde sus retornos de carro por el camino; normalmente es lo que querías, y conviene saberlo si vas a pegar el resultado en algo al que eso le importe. Un efecto secundario más: activar “Ignorar mayúsculas y minúsculas” cambia el ordenamiento además de la comparación, y entonces el ordenamiento también deja de distinguir las letras acentuadas de las simples, así que resume y résumé quedan juntas en lugar de separadas.
Si buscas otra cosa
Cuando la lista es en realidad una tabla, comparar líneas es la herramienta equivocada. Un CSV en el que “duplicado” significa dos filas que coinciden en una columna no es una cuestión de cadenas de texto, y tratarlo así o pasa por alto los duplicados o elimina filas que solo se parecían. La función Quitar duplicados de una hoja de cálculo lo hace bien con un archivo que ya tienes abierto, y mlr uniq -g lo hace en la línea de comandos indicando el campo que decide, a cualquier tamaño.
Para una lista demasiado grande para caber en una pestaña, o una que volverás a limpiar la semana que viene, en la línea de comandos basta una sola expresión que procesa el archivo en flujo: awk '!seen[$0]++' conserva la primera copia y el orden original, que es exactamente lo que hace esta página de forma predeterminada, con un archivo más grande que tu memoria. No recorta, no ignora mayúsculas y no informa de lo que se repitió: ese es el precio, y para un archivo de diez millones de líneas es el correcto.
Preguntas frecuentes
¿Se guarda mi lista en algún lugar?
No. No se guarda nada ni se hace ninguna solicitud. Puedes desconectarte de internet después de que cargue la página y sigue funcionando.
¿Por qué sigue habiendo duplicados después de quitarlos?
Casi siempre por espacios en blanco al final. Dos líneas que terminan con un número distinto de espacios se ven idénticas en pantalla y no lo son, así que una comparación exacta conserva las dos, y concluyes que la herramienta no funciona. Por eso, recortar antes de comparar está ACTIVADO aquí de forma predeterminada. Y lo importante es que solo afecta a la COMPARACIÓN: la línea que se conserva mantiene su texto original, porque editar tus líneas sin avisar no es lo que significa “eliminar duplicados”.
¿Qué copia se conserva?
La primera, de forma predeterminada, y el orden del resto no se toca, algo que importa cuando una lista ya tiene un orden con sentido. En su lugar puedes conservar la última, o eliminar todas las líneas que tenían un duplicado y dejar solo las que aparecían exactamente una vez. Esa última opción es la forma de encontrar las entradas exclusivas de una lista.
¿Por qué al ordenar item10 queda antes que item2?
Es el orden alfabético normal, en el que “1” va antes que “2” y nunca se llega al resto del número. Activa el orden natural y las secuencias de dígitos se comparan como números, así que item2 queda antes que item10, el orden que espera una persona. El texto con acentos también se trata como corresponde: una comparación simple ordena “Zürich” después de “Zyzzyva”, porque compara los números subyacentes y no las letras.
¿Me dice qué se eliminó?
Sí: las líneas que aparecían más de una vez se muestran en una lista con sus conteos, empezando por las más frecuentes. Saber QUÉ entrada apareció cuatro veces suele ser más útil que saber que desaparecieron tres líneas.
¿La mezcla es realmente aleatoria?
Sí. Usa el algoritmo de Fisher-Yates con la fuente de aleatoriedad criptográfica del navegador. El atajo habitual (ordenar con una comparación aleatoria) no es una mezcla en absoluto: los algoritmos de ordenamiento suponen una comparación coherente, y con una aleatoria el resultado tiene un sesgo medible hacia el orden original. Si vas a sortear un ganador de una lista, esa diferencia importa.
¿Hay un límite de tamaño?
La memoria disponible, más que un tope fijo de tamaño. Las listas de cientos de miles de líneas no son problema.
Conviene saber: El ordenamiento usa las reglas de idioma de tu navegador, así que las letras acentuadas y los distintos alfabetos se ordenan como espera un lector y no por el valor de sus bytes. Eso también significa que el orden puede variar ligeramente entre navegadores. Las listas muy grandes se guardan enteras en memoria.
Agrega esta herramienta a tu sitio web
Gratis para cualquier blog, página de clase o artículo de ayuda. Pega un fragmento de código y tus visitantes podrán usarla directamente en tu página.
Más Utilidades de texto
Contador de palabras
Palabras, oraciones y tiempo de lectura
Convertir mayúsculas y minúsculas
MAYÚSCULAS, minúsculas, Tipo Título, camelCase y más
Comparar textos
Mira exactamente qué cambió entre dos versiones
Contador de caracteres
Caracteres, bytes y lo que tu límite cuenta realmente
Minificar HTML
Reduce el HTML sin romper la página
Minificar CSS
Reduce una hoja de estilos, o descubre por qué no se puede