Los datos en un archivo de texto de Linux pueden ser ordenados con el comando sort, siempre y cuando cada elemento esté delimitado de alguna manera. Con frecuencia, la coma se utiliza como separador de la información delimitada.
Índice de contenidos
Reglas básicas para la clasificación
El comando sort reorganiza las líneas de un archivo de texto para ordenarlas numérica y alfabéticamente. Las reglas por defecto para el comando sort son:
- El texto que comienza con un número aparece antes que el texto que comienza con una letra; los números inferiores ordenan primero.
- Texto que comienza con una letra que aparece en el alfabeto antes que la primera letra de otras entradas de texto se ordena antes que el texto que comienza con una letra que aparece más tarde en el alfabeto.
- Cuando el texto comienza con instancias en mayúsculas y minúsculas de la misma letra, la instancia en minúsculas se ordena primero.
Clasificación de un archivo de texto
Para ordenar las líneas en un archivo Linux delimitado, utilice el comando sort like this:
que ordena el archivo «test.txt» según los caracteres que comienzan en la segunda columna (k2 se refiere a la segunda columna). Asumiendo que el contenido del archivo de entrada es:
Debido a que la segunda columna de este ejemplo contiene el nombre y los apellidos, la salida ordenada se ordena por la primera letra del nombre de cada individuo en la segunda columna: Elvis, John, Johnny, Justin, Lady, Michael, Mick y Taylor, como se muestra a continuación:
Si ordena el archivo con -k3 (usando el contenido de la línea que comienza en la columna 3, la columna Número de título), la salida es:
y
produce una lista ordenada por precio:
Anulación de una clasificación
La opción -r anula la clasificación. Por ejemplo, usando los resultados anteriores:
los rendimientos:
Guardar un archivo ordenado
Ordenar un archivo no lo guarda. Para guardar la lista ordenada en un archivo, utilice el operador de redirección:
donde «test_new.txt» es el nuevo archivo.
Clasificación de una salida de secuencia
También puede aplicar el comando de ordenación a la salida de un flujo, como el operador de la tubería:
Esto ordena la salida de la lista de archivos generada por el comando ls por tamaño de archivo, comenzando con los archivos más grandes. El operador -n especifica la ordenación numérica en lugar de la alfabética.