sort

Lee la entrada, ordena los datos y escribe los resultados en la pantalla, en un archivo o en otro dispositivo.

Sintaxis

sort [/r] [/+<N>] [/m <kilobytes>] [/l <locale>] [/rec <characters>] [[<drive1>:][<path1>]<filename1>] [/t [<drive2>:][<path2>]] [/o [<drive3>:][<path3>]<filename3>]

Parámetros

Parámetro Descripción
/r Invierte el criterio de ordenación (es decir, se ordena de Z a A y de 9 a 0).
/+<N> Especifica el número de posición del carácter donde sort comenzará cada comparación. N puede ser cualquier entero válido.
/m <kilobytes> Especifica la cantidad de memoria principal que se va a usar para la ordenación en kilobytes (KB).
/l <locale> Invalida el criterio de ordenación de los caracteres que están definidos por la configuración regional predeterminada del sistema (es decir, el idioma y el País/Región seleccionados durante la instalación).
/rec <characters> Especifica el número máximo de caracteres de un registro o una línea del archivo de entrada (el valor predeterminado es 4 096 y el máximo 65 535).
[<drive1>:][<path1>]<filename1> Especifica el archivo que se va a ordenar. Si no se especifica ningún nombre de archivo, se ordena la entrada estándar. Especificar el archivo de entrada es más rápido que redirigir el mismo archivo como entrada estándar.
/t [<drive2>:][<path2>] Especifica la ruta de acceso del directorio que contendrá el almacenamiento de trabajo del comando sort si los datos no caben en la memoria principal. De forma predeterminada, se usa el directorio temporal del sistema.
/o [<drive3>:][<path3>]<filename3> Especifica el archivo donde se va a almacenar la entrada ordenada. Si no se especifica, los datos se escriben en la salida estándar. Especificar el archivo de salida es más rápido que redirigir la salida estándar al mismo archivo.
/unique Solo devuelve resultados únicos.
/? Muestra la ayuda en el símbolo del sistema.

Comentarios

  • De forma predeterminada, las comparaciones comienzan en el primer carácter de cada línea. La opción /+ de la línea de comandos inicia las comparaciones en el carácter especificado por N. Por ejemplo, /+3 indica que cada comparación debe comenzar en el tercer carácter de cada línea. Las líneas con menos de N caracteres se intercalan antes que las demás líneas.

  • La memoria usada siempre es de 160 KB como mínimo. Si se especifica el tamaño de la memoria, se usará la cantidad exacta especificada para la ordenación (debe ser de al menos 160 KB), independientemente de cuánta memoria principal haya disponible.

  • El tamaño máximo de memoria predeterminado cuando no se especifica ningún tamaño es el 90 % de la memoria principal disponible, si tanto la entrada como la salida son archivos, o el 45 % de la memoria principal en caso contrario. Normalmente, la configuración predeterminada proporciona el mejor rendimiento.

  • Actualmente, la única alternativa a la configuración regional predeterminada es la configuración regional de C, que es más rápida que la ordenación del lenguaje natural (ordena los caracteres según sus codificaciones binarias).

  • Puede usar el símbolo de barra vertical (|) para dirigir los datos de entrada al comando sort desde otro comando o para dirigir la salida ordenada a otro comando. Puede especificar los archivos de entrada y salida usando símbolos de redirección (< o >). Puede ser más rápido y eficaz (especialmente con archivos de gran tamaño) especificar directamente el archivo de entrada (definido por filename1 en la sintaxis del comando), y después especificar el archivo de salida usando el parámetro /o.

  • El comando sort no distingue entre mayúsculas y minúsculas y no tiene ningún límite en el tamaño del archivo.

  • El programa de clasificación usa la tabla de secuencias de cotejo que corresponde al código País/Región y a la configuración de la página de códigos. Los caracteres superiores al código ASCII 127 se clasifican según la información del archivo Country.sys o de un archivo alternativo especificado por el comando country de su archivo Config.nt.

  • Si la ordenación se ajusta al tamaño máximo de memoria (según lo establecido de forma predeterminada o según lo especificado por el parámetro /m), la ordenación se realiza en una sola pasada. De lo contrario, la ordenación se realiza en dos pasadas separadas de ordenación y combinación, y las cantidades de memoria usadas para ambas pasadas son iguales. Cuando se realizan dos pasadas, los datos parcialmente ordenados se almacenan en un archivo temporal en el disco. Si no hay memoria suficiente para realizar la ordenación en dos pasadas, se emite un error en tiempo de ejecución. Si se usa la opción de línea de comandos /m para especificar más memoria de la realmente disponible, puede producirse una degradación del rendimiento o un error en tiempo de ejecución.

Ejemplos

  • Para ordenar y mostrar, en orden inverso, las líneas de un archivo denominado expenses.txt, escriba:

    sort /r expenses.txt
    
  • Para buscar en un archivo grande llamado maillist.txt el texto Jones, y ordenar los resultados de la búsqueda usando la barra vertical (|) para dirigir la salida de un comando find al comando sort, escriba:

    find Jones maillist.txt | sort
    

    El comando genera una lista ordenada de líneas que contienen el texto especificado.

  • Para ordenar las entradas del teclado y mostrar los resultados alfabéticamente en la pantalla, puede usar primero el comando sort sin parámetros, escribiendo:

    sort
    

    Después, escriba el texto que quiera ordenar y pulse ENTRAR al final de cada línea. Cuando haya terminado de escribir texto, presione CTRL+Z y presione ENTRAR. El comando sort muestra el texto que ha escrito, ordenado alfabéticamente.