Explique cómo usar el comando ordenar en Unix.

Explique cómo usar el comando ordenar en Unix.

Soy nuevo en UNIX. Por favor explique sortel comando. Tengo dudas relacionadas con el separador de campos de clasificación. Por ejemplo: sort -k2, 2 filenamePor favor aclare. Por favor proporcione un pequeño ejemplo.

Respuesta1

Hay un error de sintaxis en sort -k2, 2 filenameNo debería haber un delimitador de espacio en la -k2,2opción. Además, eliminaría una posible fuente de confusión y/o error (dependiendo del contenido del archivo que se está ordenando) al agregar un orden de diccionario o una opción de ordenación numérica al comando para dejar explícito cómo deben ser las cosas. ser ordenado.

Ejemplos

cat unsorted-file.txt # original unsorted file
9 8 7
6 55 44
3 2 1

sort -k1 -n unsorted-file.txt # example 1
3 2 1
6 55 44
9 8 7

sort -k3 -n unsorted-file.txt # example 2
3 2 1
9 8 7
6 55 44

sort -k1,3 -n unsorted-file.txt # example 3
3 2 1
6 55 44
9 8 7

sort -k2,3 -n unsorted-file.txt # example 4
3 2 1
9 8 7
6 55 44

Explicación

De forma predeterminada, el delimitador de campo no es una transición en blanco a blanco.
KEYDEF -kes F[.C][OPTS][,F[.C][OPTS]] para la posición inicial y final, donde F es un número de campo y C una posición de carácter en el campo. Ambos son origen 1 y la posición de parada por defecto es el final de la línea.
-k1- primer campo
-k3- tercer campo
-k1,3- iniciar el primer campo, detener el tercer campo
-k2,3- iniciar el segundo campo, detener el tercer campo
-n- comparar según el valor numérico de la cadena

información relacionada