Command Palette

Search for a command to run...

Cómo ordenar líneas de texto: explicación del orden alfabético, natural y numérico

Cómo ordenar líneas de texto: explicación del orden alfabético, natural y numérico

T
Toolz Team
|Sep 19, 2026|13 Min Lectura
Prefiera Toolz.dev en Google

Parte de la colección Herramientas de texto

Clasificador de línea

Ordene líneas de texto alfabética, numéricamente o por longitud, reviertalas o muévalas y elimine duplicados, líneas en blanco y espacios en blanco, todo en su navegador.

Utilice el Clasificador de línea

Ordenar una lista parece el problema más resuelto en informática, hasta que vuelve el resultado file10 arriba file2, cada nombre en mayúscula agrupado en la parte superior, $5 varado al final de una lista de precios, y "Apple" y "manzana" contados como dos entradas diferentes. Cada uno de ellos es del tipo que hace exactamente lo que le dijeron. El problema es que "orden alfabético" oculta varias reglas diferentes, y elegir la incorrecta produce una lista técnicamente ordenada y prácticamente inútil.

Esta guía explica las reglas de orden que importan para las listas cotidianas: orden de bytes, orden alfabético local, orden natural para números incrustados, orden numérico verdadero y orden de longitud. También cubre cómo los pasos de limpieza como recortar y eliminar duplicados interactúan con la clasificación. Los ejemplos trabajados utilizan el Clasificador de líneas Toolz, y cada salida mostrada es lo que produce su código.

TL;Dr: Para ordenar líneas de texto, pegue un elemento por línea y elija un modo. Alfabético en Toolz Line Sorter es local y natural, por lo que item2 viene antes item10, e Ignorar caso (activado de forma predeterminada) mantiene "Apple" y "apple" juntos. Ordenes de modo numérico por el número al inicio de cada línea y hunde líneas no numéricas en la parte inferior. Ordenes de modo de longitud por recuento de caracteres. La limpieza se ejecuta antes de ordenar: recortar espacios en blanco, eliminar líneas en blanco y luego eliminar duplicados manteniendo la primera aparición. El clasificador de líneas en línea es gratuito, no hay registro y se actualiza a medida que escribe.

¿qué hace un clasificador de líneas?

Un clasificador de líneas toma un bloque de texto, trata cada línea como un elemento y reorganiza las líneas mediante una regla elegida. La misma herramienta suele limpiar la lista al mismo tiempo: recortar espacios perdidos, eliminar líneas en blanco y eliminar duplicados.

La versión Toolz ofrece cinco modos y cuatro opciones de limpieza:

Configuración Lo que hace Predeterminado
A a Z Orden alfabético local con manejo de números naturales Seleccionado
numérico Órdenes por número con el que comienza cada línea
Longitud Órdenes por recuento de caracteres, primero el más corto
Reverso Cambia el orden de las líneas actuales sin ordenar
Mezclar Orden aleatorio; haga clic nuevamente para reorganizar
Descendiente Vuelve el resultado de A a Z, Numérico o Longitud Apagado
Eliminar líneas en blanco Elimina líneas que están vacías o solo espacios en blanco En
Eliminar duplicados Mantiene la primera aparición de cada línea Apagado
Espacio en blanco de recorte Elimina espacios y pestañas en ambos extremos de cada línea Apagado
Ignorar caso Compara líneas en minúsculas para ordenar y duplicar En

El panel de salida muestra cuántas líneas salieron y cuántas se eliminaron, para que pueda ver el efecto de las opciones de limpieza de un vistazo.

¿por qué el archivo 10 viene antes que el archivo 2?

Porque una clasificación de texto sin formato compara cadenas de un carácter a la vez, desde la izquierda. file10 y file2 coincide con cuatro personajes, luego el quinto personaje es 1 en uno y 2 en el otro. El personaje 1 ordenamientos antes 2, entonces file10 gana, y la comparación nunca analiza el hecho de que 10 es un número mayor que 2.

La clasificación natural soluciona esto leyendo cada serie de dígitos como un número. El clasificador de líneas Toolz 's modo A a Z hace eso, usando el navegador 's cotejo integrado con comparación numérica activada, la opción descrita para String.prototype.localeComparar en MDN. Las reglas de pedido que se encuentran a continuación provienen del Algoritmo de clasificación Unicode, que es como los navegadores deciden que "é" ordena cerca de "e" en lugar de después de "z".

Aquí está la misma lista de cinco elementos bajo tres reglas:

Entrada Orden de bytes (LC_ALL=C sort) Orden de personajes, caso plegado Orden natural (Herramientas A a Z)
item10 Item1 Item1 Item1
item2 item10 item10 item2
Item1 item2 item2 item3
item3 item3 item3 item10
zebra zebra zebra zebra

Se pone el pedido de bytes Item1 primero sólo porque una mayúscula I tiene un código más bajo que cualquier letra minúscula. El orden de los caracteres con plegado de mayúsculas fija el capital, pero aún así pone item10 antes de que item2. El orden natural hace que ambos sean correctos.

¿cómo afecta el caso a la clasificación alfabética?

En orden de bytes sin formato, cada letra mayúscula se clasifica antes de cada letra minúscula, por lo que una lista de nombres se puede dividir en dos ejecuciones alfabéticas: primero todas las entradas en mayúscula y luego todas las minúsculas. La clasificación local no hace eso; primero trata las letras como la misma letra y solo usa el caso para romper empates.

La opción Ignorar caso va un paso más allá y compara todo como minúsculas. Cuando dos líneas difieren sólo por caso, se comparan como iguales y el tipo las mantiene en el orden en que aparecieron en la entrada. Eso es importante para los duplicados, que se tratan a continuación.

Ejemplo trabajado con la muestra incorporada

Haga clic en "Cargar muestra" y la entrada es de diez líneas: banana, Apple, cherry, apple, 10, 2, Banana, date, una línea en blanco y grape.

Ajustes rendimiento Recuento mostrado
Valores predeterminados: de la A a la Z, ignorar caso activado, eliminar líneas en blanco activadas 2, 10, Apple, apple, banana, Banana, cherry, date, grape 9 líneas, 1 eliminada
Agregar Eliminar duplicados 2, 10, Apple, banana, cherry, date, grape 7 líneas, 3 eliminadas
Eliminar duplicados, ignorar caso desactivado 2, 10, apple, Apple, banana, Banana, cherry, date, grape 9 líneas, 1 eliminada
Valores predeterminados más descendentes grape, date, cherry, Banana, banana, apple, Apple, 10, 2 9 líneas, 1 eliminada

En esa tabla se ven tres detalles. Los números vienen antes que las letras en modo alfabético y 2 precede 10 debido al orden natural. Con caso Ignorar activado, Apple se mantiene por delante de apple porque apareció primero en la entrada. Con el caso Ignorar desactivado, la clasificación del navegador 's coloca la forma minúscula justo delante de la mayúscula, que es el comportamiento habitual en los navegadores en inglés, y ninguna de las líneas cuenta como duplicados porque no son idénticas. Descender es una inversión completa del resultado ascendente, por lo que las líneas empatadas también giran.

Clasificación alfabética versus numérica: ¿cuándo deberías usar cada una?

Utilice el modo alfabético (natural) para texto que contenga números, como nombres de archivos, etiquetas de versiones o direcciones de calles. Utilice el modo numérico cuando cada línea sea un número o comience con uno y desee que las líneas estén ordenadas por valor.

El modo numérico lee el número al inicio de cada línea de la misma manera que JavaScript's parseFloat lo hace. Se salta los espacios iniciales, lee un signo opcional, dígitos, un punto decimal y un exponente, y se detiene en el primer carácter que no puede continuar con un número. Las líneas que no comienzan con un número van al final y mantienen su orden original.

Línea Valor utilizado Nota
42 42
-7.5 -7,5 Los valores negativos y decimales funcionan
1e3 1000 Se lee notación científica
12 apples 12 Texto después de ignorar el número
1,000 1 La lectura se detiene ante la coma
$5 no un número Se hunde hasta el fondo
v2 no un número Se hunde hasta el fondo

Clasificación $5, 42, 1,000, -7.5, 12 apples, 1e3 en modo numérico da:

-7.5
1,000
12 apples
42
1e3
$5

Hay dos trampas en esa salida. 1,000 ordenado como 1, porque miles de separadores terminan el número. Despírelos primero con buscar y reemplazar si tus datos los utilizan. Y $5 cayó al fondo; elimine los símbolos de moneda antes de clasificar los precios.

Descender en modo numérico invierte todo el resultado, lo que significa que las líneas no numéricas se mueven de abajo hacia arriba. Si solo desea que los números estén en orden descendente, primero limpie las líneas no numéricas.

¿cómo funciona la clasificación por longitud?

El modo de longitud ordena las líneas según la cantidad de caracteres que contienen, primero la más corta o la más larga con Descendiente. Las líneas de igual longitud mantienen su orden de entrada.

El recuento es la longitud de la cadena JavaScript, que cuenta unidades de código UTF-16. Para letras ordinarias, dígitos y caracteres latinos acentuados que equivalen al número de caracteres visibles: café es 4. La mayoría de los emoji y algunos caracteres raros usan dos unidades de código, por lo que ok👍 cuenta como 4, no como 3. Para listas de palabras, nombres o URL, esto rara vez importa.

La clasificación de longitud es útil para detectar valores atípicos: el título del producto inusualmente largo, la entrada truncada o las palabras clave más cortas de una lista.

¿En qué orden se realiza la limpieza y clasificación?

Los pasos siempre se ejecutan en una secuencia fija y el orden explica los resultados más sorprendentes:

  1. partir la entrada en líneas, aceptando finales de línea de Unix y Windows.
  2. compensación cada línea, si Trim espacios en blanco está activado.
  3. Eliminar líneas en blanco, si está activado. Una línea que contiene solo espacios cuenta como en blanco, incluso con Trim desactivado.
  4. Eliminar duplicados, si está encendido. Se mantiene la primera aparición. Con Ignorar caso activado, las líneas que difieren sólo por el recuento de casos se duplican y la carcasa del primero sobrevive.
  5. Ordenar, invertir o mezclar lo que queda.

Debido a que el recorte es opcional y está desactivado de forma predeterminada apple y apple (con un espacio final) hay dos líneas diferentes cuando se comparan duplicados, a menos que active Trim. Ésa es la razón más común por la que "eliminar duplicados" pasar parece perder entradas. Las pestañas pegadas en una hoja de cálculo causan el mismo efecto.

Para trabajos duplicados más pesados, como mantener la última ocurrencia o comparar solo una parte de cada línea, el guía de eliminación de líneas duplicadas cubre las opciones con más profundidad.

Inverso versus descendente: ¿cuál es la diferencia?

La inversa invierte el orden actual de las líneas sin ordenar nada. c, a, b se convierte en b, a, c. Primero se clasifican las clases descendentes y luego se voltean, así que c, a, b de la a la z con descendencia se convierte c, b, a.

Utilice Reverse cuando el orden original signifique algo, como un archivo de registro con las entradas más antiguas primero, y desee las más nuevas primero. Utilice Descending cuando desee una lista ordenada de Z a A o de mayor a menor. El botón Descendiente está deshabilitado en los modos Reverso y Aleatorio porque no tiene nada que voltear.

¿es suficiente el shuffle aleatorio?

El shuffle utiliza el algoritmo de Fisher-Yates, que le da a cada orden posible las mismas posibilidades cuando sus números aleatorios son uniformes, y extrae esos números del navegador 's Math.random(). Eso está bien para aleatorizar una lista de lectura, una lista de reproducción o un orden de presentación. No es una fuente criptográfica aleatoria, por lo que es una elección incorrecta para cualquier cosa en la que alguien pueda tener una razón para predecir o disputar el resultado, como un sorteo de premios. Para ellos, un dedicado lista aleatoria es la mejor opción. Haga clic en Mezclar nuevamente para obtener un nuevo pedido.

¿Es seguro ordenar listas confidenciales en línea?

Con esta herramienta, sí. La clasificación y limpieza se realizan del lado del cliente, en JavaScript en la pestaña de su navegador. El texto no se carga ni almacena y la herramienta sigue funcionando con la red apagada una vez que se ha cargado la página. Las listas de direcciones de correo electrónico, nombres de clientes o nombres de host internos nunca salen de su máquina.

El límite de tamaño práctico es la memoria de su navegador ' en lugar de la tapa de un servidor. Decenas de miles de líneas se clasifican instantáneamente en una computadora portátil típica. Los archivos muy grandes, de cientos de megabytes, se manejan mejor en la línea de comando.

¿cuáles son los errores comunes en la clasificación de líneas?

Síntoma Causa Arreglar
file10 arriba file2 en otra herramienta Comparación sencilla de caracteres Utilice la clasificación natural (A a Z aquí) o sort -V
Entradas en mayúscula, todas en la parte superior Orden de bytes Utilice una clasificación local o ignore el caso
Duplicați nu sunt eliminat Los espacios finales o las pestañas difieren Active Recortar espacios en blanco
"Apple" y "apple" ambos conservados Ignorar caso está desactivado Activa Ignorar caso
1,000 ordenado como 1 Miles de separadores terminan el número Elimine las comas antes de la clasificación numérica
Precios con $ en la parte inferior La línea no comienza con un número Primero, los símbolos de moneda en franjas
La lista numérica descendente comienza con palabras Las líneas no numéricas se invierten hacia arriba Primero elimine las líneas no numéricas
La salida tiene un "eliminado" más de lo esperado Una nueva línea final creó una última línea vacía Esperado; la línea en blanco fue eliminada

Alternativas a un clasificador de líneas en línea

herramienta Cómo ordenar notas
GNU sort sort -f (caso plegable), sort -n (numeric), sort -V (natural), sort -u (unic), sort -r (reverso) Scriptable, maneja archivos enormes; ver el Manual de clasificación GNU
shuf shuf list.txt Orden aleatorio en la línea de comando
Ordenar por longitud en un caparazón awk '{ print length, $0 }' list.txt | sort -n | cut -d' ' -f2- Cuenta bytes o caracteres según la configuración regional
Hoja de cálculo Pegar en una columna, Datos, Ordenar Bueno cuando las líneas tienen varios campos
Editores de código "Ordenar líneas" comandos en muchos editores El comportamiento varía según el editor
Clasificador de líneas Toolz Pegar, haga clic en un modo Vista previa en vivo, limpieza en una sola pasada, del lado del cliente

tenga en cuenta que sort la salida depende del LC_ALL investigaciones operacionales LANG configuración de configuración regional, por lo que el mismo comando puede dar órdenes diferentes en dos máquinas. Configuración LC_ALL=C fuerza el orden de bytes.

Ordenar una lista, paso a paso

  1. Abre el clasificador de líneas de texto y pega tu lista, un artículo por línea.
  2. Elija de la A a la Z para palabras y nombres de archivos, numérico para números o longitud para el recuento de caracteres.
  3. Active Recortar espacios en blanco si la lista se pegó de un documento o hoja de cálculo.
  4. Active Eliminar duplicados si desea cada entrada una vez; deje Ignorar caso activado para fusionar diferentes mayúsculas.
  5. Verifique el recuento de salida y "eliminado" número.
  6. Haga clic en Copiar.

Si la lista también necesita normalizar su capitalización, el guía del convertidor de mayúsculas y minúsculas explica título, sentencia y otros casos, y el centro de herramientas de texto recopila el resto de utilidades de texto en un solo lugar.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!