Eliminar Líneas Duplicadas
Deduplica cualquier lista de texto, log, CSV o emails con un clic. Conserva primera aparición, orden opcional, coincidencia sin distinción de mayúsculas.
Eliminar Líneas Duplicadas - Herramienta de Deduplicación de Texto
Eliminar Líneas Duplicadas es un deduplicador a nivel de línea equivalente al idiom Unix `awk '!seen[$0]++'` o `sort -u`, pero con interfaz, plegado de mayúsculas opcional, eliminación de líneas vacías opcional y un panel lateral que muestra exactamente qué duplicados se descartaron. El algoritmo construye un Set de JavaScript con las claves de línea canonicalizadas (en minúsculas si desactivas la sensibilidad a mayúsculas) y recorre la entrada una vez en orden original, conservando solo la primera vez que aparece cada línea única. Esta política de 'gana la primera aparición' es importante: a diferencia de `sort -u` que reordena, esta herramienta preserva tu orden de entrada salvo que actives Ordenar explícitamente. Casos de uso típicos: deduplicar listas de destinatarios de email recolectadas de varios boletines, limpiar filas CSV de clientes exportados donde el mismo registro se cargó dos veces, eliminar mensajes de error repetidos de archivos de log para encontrar patrones únicos de fallo, consolidar listas de hostnames para inventarios de Ansible, y deduplicar cadenas de traducción antes de fusionar en un archivo de localización.
¿Qué cuenta exactamente como 'línea duplicada' — importan los espacios y mayúsculas?
Por defecto, dos líneas se consideran duplicadas si sus secuencias de caracteres coinciden exactamente — los espacios iniciales y finales cuentan, y las mayúsculas importan ('Manzana' es distinto de 'manzana'). Cambiar la opción de mayúsculas a MAYÚSCULAS o minúsculas normaliza ambas cadenas comparadas antes de coincidir, así que 'MANZANA', 'Manzana' y 'manzana' colapsan en una sola línea. Para ignorar también diferencias de espacios (' a' vs 'a '), preprocesa con un Limpiador de Texto o recorta cada línea primero.
¿Qué copia se conserva cuando hay duplicados — primera o última aparición?
Siempre la primera aparición. El recorrido de deduplicación usa un Set que registra el contenido de la línea la primera vez que aparece y omite cada línea idéntica subsiguiente. Esto importa cuando tu entrada tiene significado en el orden — p.ej. un CSV donde la fila 1 es el registro canónico y la fila 7 es un import duplicado obsoleto. Si necesitas conservar la última aparición (común en fusiones 'gana la última escritura'), invierte la lista primero con la herramienta Invertir Lista, deduplica y vuelve a invertir.
¿En qué se diferencia de `sort -u`, `awk` o `uniq` de Unix?
`uniq` solo colapsa duplicados adyacentes y requiere entrada ordenada — los duplicados no adyacentes sobreviven. `sort -u` ordena y deduplica pero destruye el orden original. `awk '!seen[$0]++'` preserva el orden y coincide con lo que hace esta herramienta, pero requiere una terminal. 'Quitar Duplicados' de Excel funciona similar pero está limitado por el número de filas y te ata a una plataforma. Esta herramienta da el mismo resultado que awk con GUI, más un panel de líneas eliminadas que ninguna herramienta de línea de comandos expone.

¿Qué muestra realmente la opción 'Mostrar eliminados'?
Saca un panel separado listando cada línea duplicada que se omitió, en el orden en que se encontraron. Cada entrada muestra el contenido y (cuando es útil) el número de línea de entrada en que estaba. Este rastro de auditoría es crítico para escenarios de cumplimiento — por ejemplo limpiar una base de datos de clientes bajo el RGPD — para que puedas demostrar que una fila concreta era duplicada y no se perdió silenciosamente. También ayuda a depurar sorpresas de sensibilidad a mayúsculas ('[email protected]' vs '[email protected]').
¿Escala a archivos grandes como un CSV de 100.000 filas?
Sí. La deduplicación basada en Set es de tiempo medio O(n) y memoria ~O(n), así que una lista de 100k líneas suele deduplicarse en menos de 100 ms en un portátil moderno. El cuello de botella es el textarea del navegador — más allá de ~5 MB de texto pegado el propio pegado puede tardar, pero la deduplicación en sí sigue siendo rápida. Para archivos de millones de filas usa Unix: `awk '!seen[$0]++' input.txt > output.txt` hace streaming sin cargar el archivo completo en RAM y maneja entradas arbitrariamente grandes.
¿La opción 'Eliminar líneas vacías' también quita filas con solo espacios?
Sí. Cuando está activada, las líneas totalmente vacías o que contienen solo caracteres de espacio (espacios, tabuladores, espacios no separables) se descartan antes de ejecutar la deduplicación. Esto es útil porque las filas en blanco en datos CSV a menudo se duplican entre sí (toda fila vacía parece idéntica), inflando tu cuenta de 'duplicados eliminados' sin quitar contenido real. Desactiva esta opción si quieres conservar líneas en blanco de separación entre secciones.
¿Mis datos se suben o almacenan en algún sitio?
No. La deduplicación se ejecuta totalmente en JavaScript del navegador sobre el valor del textarea — no hay fetch() a un backend, ni evento de analítica con contenido, ni escritura en localStorage. Puedes verificar en la pestaña Network de DevTools que pulsar Eliminar hace cero peticiones salientes. Esto hace la herramienta segura para listas sensibles como correos de empleados, registros de clientes, hostnames internos o contenido con derechos bajo NDA.
