Forma de opción corta | Formulario de opción larga | Descripción |
-b | --ignore-leading-blanks | Causas sort para ignorar los espacios en blanco iniciales. |
-d | --dictionary-order | Causas sort considerar solo espacios en blanco y caracteres alfanuméricos. |
-f | --ignore-case | Ignora la regla de clasificación de mayúsculas y minúsculas predeterminada y cambia todas las letras minúsculas a mayúsculas antes de la comparación. |
/ | --files0-from=F | Lee la entrada de los archivos especificados por NUL nombres terminados en el F especificado expediente. Si F es - , sort lee los nombres de la entrada estándar. |
-M | --month-sort | Ordena las líneas según los meses (enero-diciembre). |
-h | --human-numeric-sort | Compara números legibles por humanos (por ejemplo, 2K 1G). |
-n | --numeric-sort | Compara datos según valores numéricos de cadena. |
-R | --random-sort | Ordena los datos por un hash aleatorio de claves, pero agrupa claves idénticas. |
/ | --random-source=FILE | Obtiene bytes aleatorios del FILE especificado . |
-r | --reverse | Invierte los resultados de la comparación. |
/ | --sort=WORD | Ordenar datos según la WORD especificada :general-numérico -g , humano-numérico -h , mes -M , numérico -n , aleatorio -R , versión -V . |
-c | --check, --check=diagnose-first | Comprueba si la entrada ya está ordenada pero no la ordena. |
/ | --debug | Anota la parte de la línea utilizada para ordenar. |
-k | --key=KEYDEF | Ordenar datos usando el KEYDEF especificado , que proporciona la ubicación y el tipo de clave. |
-m | --merge | Causas sort para fusionar archivos ya ordenados. |
-o | --output=FILE | Redirige la salida a FILE en lugar de imprimirlo en salida estándar. |
-t | --field-separator=SEP | Utiliza el SEP especificado separador en lugar de transición de no en blanco a en blanco. |
-z | --zero-terminated | Hace que ordenar use NUL como delimitador de línea en lugar del carácter de nueva línea. |
/ | --help | Muestra el archivo de ayuda con la lista completa de opciones y sale. |
/ | --version | Envía la versión del programa y sale. |
Ejemplos de clasificación de Linux
A continuación se muestran ejemplos del uso de sort
Comando para organizar el contenido del archivo de diferentes maneras.
Ejemplo 1:Guardar la salida en un archivo
El sort
El comando solo muestra el contenido de un archivo después de organizarlo, pero no cambia el archivo. Sin embargo, el -o
le permite guardar el sort
salida del comando a un archivo.
Por ejemplo, el siguiente comando ordena los datos en default.txt y guarda el resultado en sorted.txt archivo:
sort -o sorted.txt default.txt
Ejecutar cat genera el contenido del nuevo archivo.
Otra forma de guardar el sort
la salida del comando es redirigir la salida a un archivo:
sort default.txt > sorted.txt
Ejemplo 2:Comprobar la clasificación en el archivo
Especifique el -c
opción para comprobar si el contenido de un archivo ya se ha ordenado. Si los contenidos ya están ordenados, no hay salida del sort
dominio.
Sin embargo, cuando sort
encuentra una línea desordenada, genera un mensaje que informa que la primera línea está fuera de lugar.
Por ejemplo:
sort -c default.txt
El comando genera un mensaje que informa el número y el contenido de la primera línea no ordenada.
Ejemplo 3:ordenar varios archivos
Hay dos formas de ordenar varios archivos:
1. Enumere los nombres de archivo como argumentos separados por un espacio.
Ordene varios archivos simultáneamente especificando los nombres de archivo respectivos como argumentos, separados por espacios en blanco. El contenido de los archivos se une, ordena e imprime en salida estándar.
Por ejemplo:
sort default1.txt default2.txt
El comando concatena, ordena e imprime el contenido de ambos archivos.
2. Canaliza el find
salida del comando a sort
.
Otra forma de ordenar varios archivos simultáneamente es canalizar la salida del comando de búsqueda a sort
y use el --files0-from=
opción en el sort
dominio.
Especifique el -print0
opción en find
para finalizar el nombre del archivo con NUL
y asegúrese de que el programa lea correctamente la lista de archivos.
Por ejemplo:
find -name "default?.txt" -print0 | sort --files0-from=-
El ejemplo anterior concatena y ordena el default1.txt y predeterminado2.txt archivos.
Ejemplo 4:Ordenar por Campos
De forma predeterminada, sort
compara el contenido de toda la línea y decide cómo ordenarlo. Para comparar según un subconjunto de datos, especifique qué campos comparar utilizando -k
opción.
El -k
opción toma la siguiente sintaxis:
-k [ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .Cend ] ][ Modifier ] ]
FStart
. El comienzo de la línea.
CStart
. La primera columna en el campo.
Fend
. El final de la línea.
CEnd
. La última columna del campo.
La clave de clasificación incluye todos los caracteres que comienzan con el campo especificado por FStart
variable y la columna especificada por CStart
variable. La clave termina con el campo especificado por FEnd
y la columna especificada por CEnd
.
Sin especificar Fend
asume el último carácter de la línea como el final. Sin especificar CEnd
, el último carácter de FEnd
se asume el campo.
Si hay algún espacio entre los campos, sort
los considera como campos separados.
Por ejemplo, las líneas del siguiente archivo contienen tres campos:
Ordene los datos según el segundo campo ejecutando:
sort -k 2,2 school.txt
El comando ordena los datos según el segundo campo e ignora el primer campo.
Ejemplo 5:Ordenar en orden inverso
Usa el -r
opción para clasificar los datos en orden inverso, es decir, en orden alfabético inverso o de mayor a menor número.
Por ejemplo, el siguiente archivo se clasifica con las reglas de clasificación predeterminadas:
sort default.txt
Especificando el -r
opción invierte el orden de clasificación:
sort -r default.txt
Ejemplo 6:eliminar entradas duplicadas
El -u
opción permite sort
para eliminar entradas duplicadas de un archivo. Por ejemplo, el siguiente archivo tiene varias entradas duplicadas:
Especificando el -u
opción ordena los datos y elimina las líneas duplicadas:
sort -u test.txt
Ejemplo 7:Ordenar por Meses
Especifique el -M
opción para organizar los datos según los meses enumerados en un archivo.
Para demostrar la clasificación por meses, cree un archivo con el resultado del comando ls:
ls -l > month-sorting.txt
Ordene los datos de ls -l
salida por meses ejecutando el siguiente comando:
sort -Mk6 month-sorting.txt
El comando ordena el contenido del archivo según el sexto campo que contiene el mes de creación del archivo .
Ejemplo 8:ordenar datos aleatoriamente
Usa el -R
opción para organizar datos aleatoriamente sin aplicar ningún criterio de clasificación.
Por ejemplo, el siguiente archivo contiene varias líneas ordenadas numéricamente:
Mezcla el orden de las líneas con el siguiente comando:
sort -R ordered.txt
El resultado muestra que los datos ahora están ordenados aleatoriamente.
Ejemplo 9:especificar un delimitador
sort
separa los campos en una línea usando espacios en blanco (espacios o tabuladores) como delimitadores de campo. Especifique el -t
opción para cambiar el delimitador de campo a un carácter diferente.
Por ejemplo, el siguiente archivo contiene varios campos, incluido el nombre de una persona, el cargo y el lugar de residencia:
Ordenar el archivo por lugar de residencia sin cambiar el delimitador no funciona porque algunas ciudades tienen un espacio en medio de su nombre. El espacio hace sort
interprete el nombre de la ciudad como dos campos en lugar de uno.
Cambie el delimitador a una coma (,
) para ordenar correctamente el contenido del archivo:
sort -t, -k4 school.txt
Cambiar el delimitador produce la salida deseada.
Ejemplo 10:ordenar una salida de transmisión
Otra forma de proporcionar información al sort
comando es usar la tubería (|
) operador. Canalización en sort
le permite organizar la salida de otro comando y, opcionalmente, guardar los resultados en un archivo.
El siguiente ejemplo muestra cómo canalizar el ls
salida del comando en sort
y organice el contenido por tamaño de archivo:
ls -l /home/$USER | sort -nk5
El -nk5
las opciones especifican clasificación numérica en el quinto campo .