SORT - Ordenar líneas de texto
¿Alguna vez has querido ordenar alfabéticamente una lista de nombres, un registro o la salida de dir? Puedes ordenar líneas de texto directamente en el Símbolo del sistema, sin abrir una hoja de cálculo.
El comando SORT ordena cada línea de texto y muestra el resultado. Funciona con el contenido de un archivo y también con la salida de otros comandos recibida mediante una canalización.
Uso básico
La sintaxis del comando SORT es la siguiente.
SORT [opciones] [nombre_de_archivo]
Supongamos que tienes el siguiente fruits.txt.
banana
Cherry
apple
Si indicas un nombre de archivo, las líneas se muestran en orden ascendente.
SORT solo muestra el resultado ordenado en pantalla; no modifica fruits.txt. Más abajo se explica cómo guardar el resultado.
De forma predeterminada, la ordenación no distingue mayúsculas de minúsculas. En el ejemplo anterior, Cherry, que empieza por mayúscula, queda después de banana.
En PowerShell, sort es un alias de Sort-Object, por lo que los comandos de este artículo no se comportan igual. Para usar SORT desde PowerShell, escribe sort.exe.
Ordenar la salida con una canalización
Si omites el nombre de archivo, SORT ordena el texto que recibe por la entrada estándar. Combinado con una canalización (|), permite ordenar la salida de otros comandos.

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超 入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
La lista de nombres de archivo de dir /b se ordena por nombre.
También puedes pasar un archivo con type.
La redirección de entrada también funciona.
Opciones del comando SORT
Las opciones más usadas son las siguientes.
| Opción | Descripción |
|---|---|
/R | Ordena en orden descendente (inverso) |
/+n | Compara a partir del carácter en la posición n |
/O archivo | Escribe el resultado ordenado en el archivo indicado |
/L configuración_regional | Indica la configuración regional para ordenar (en la práctica solo es válida "C") |
/M kilobytes | Indica la cantidad de memoria principal que se usa para ordenar, en KB |
/REC caracteres | Indica el número máximo de caracteres de una línea (predeterminado 4.096, máximo 65.535) |
/T ruta | Indica la carpeta para los archivos temporales de trabajo |
/R - Orden descendente
Al añadir /R se invierte el orden.
/+n - Ordenar desde una posición de columna
De forma predeterminada, la comparación empieza al principio de cada línea. Con /+n, empieza en el carácter n. Es útil para datos de ancho fijo que quieres ordenar por un campo situado en medio de la línea.
Tanaka 85
Suzuki 92
Sato 78
Los nombres están rellenados hasta 8 caracteres, así que la puntuación empieza en el carácter 9.
Las líneas quedan en orden ascendente de puntuación. Añade /R para el orden descendente.
Cuando se especifica /+n, las líneas con menos de n caracteres se colocan antes que todas las demás. Esto incluye las líneas en blanco.
/L C - Ordenar por código de carácter
Con /L C, la ordenación no depende de la configuración regional y sigue los valores de código de carácter tal cual. Entonces se distingue entre mayúsculas y minúsculas, y las mayúsculas van antes que las minúsculas (Cherry queda primero).
Guardar el resultado ordenado en un archivo
Para guardar el resultado, indica el destino con la opción /O.
Por supuesto, también puedes guardarlo con redirección (>).
Si rediriges al mismo archivo que estás leyendo, como en sort fruits.txt > fruits.txt, fruits.txt se vacía antes de que SORT pueda leerlo y se pierde su contenido. Escribe siempre el resultado en un archivo distinto.
Los números se ordenan como caracteres
SORT compara los números carácter a carácter, como texto. Por eso no se ordenan según su valor numérico.
10
2
33
1
10 va antes que 2 porque su primer carácter, 1, es menor que 2. Para ordenar por valor numérico, rellena los números con ceros a la izquierda para que todos tengan el mismo número de dígitos.
10
02
33
01
Si quieres ordenar por valor numérico, Sort-Object de PowerShell permite indicar un tipo y ordenar los números como números.
Ejemplos prácticos
Ordenar las líneas extraídas de un registro
Puedes ordenar las líneas extraídas con findstr.
Mostrar los procesos en ejecución por nombre
Ordena la salida de tasklist por nombre. /nh omite la fila de encabezado.
Revisar un resultado largo pantalla por pantalla
Si el resultado ordenado es largo, combínalo con more.
SORT lee el texto según la página de códigos de la consola. Si le pasas un archivo guardado en UTF-8, por ejemplo, los caracteres no ASCII pueden verse mal o el orden puede no ser el esperado. Consulta el artículo relacionado sobre codificación para más detalles.
Resumen
| Qué quieres hacer | Comando |
|---|---|
| Ordenar en orden ascendente | sort archivo |
| Ordenar en orden descendente | sort /R archivo |
| Ordenar la salida de un comando | comando | sort |
| Ordenar desde una posición | sort /+n archivo |
| Guardar el resultado en un archivo | sort archivo /O salida |
| Ordenar por código de carácter | sort /L C archivo |