GNU/Linux >> Tutoriales Linux >  >> Linux

10 ejemplos útiles del comando Sort en Linux

Ordenar comando en Linux

El comando ordenar organiza las líneas de texto de formas útiles. Esta sencilla herramienta puede ayudarte a ordenar rápidamente la información desde la línea de comandos.

Sintaxis

sort [options] <filename>

Debe tener en cuenta algunas cosas:

  • Cuando usa ordenar sin ninguna opción, se aplican las reglas predeterminadas. Es útil comprender las reglas predeterminadas para evitar resultados inesperados.
  • Al usar ordenar, sus datos originales están seguros. Los resultados de su entrada se muestran solo en la línea de comando. Sin embargo, puede especificar la salida a un archivo separado si lo desea. Más sobre eso más adelante.
  • Ordenar se diseñó originalmente para su uso con caracteres ASCII. No probé esto, pero es posible que diferentes codificaciones produzcan resultados inesperados.

Las reglas predeterminadas en el comando de clasificación

Estas son las reglas predeterminadas cuando se usa sort. Los primeros ejemplos aclararán cómo se gestionan estas prioridades. Luego veremos opciones especializadas.

  • números> letras
  • minúsculas> mayúsculas

Ejemplos del comando ordenar

Permíteme mostrarte algunos ejemplos de comandos de clasificación que puedes usar en varias situaciones.

1. Ordenar en orden alfabético

El comando de clasificación predeterminado facilita la visualización de la información en orden alfabético. No se necesitan opciones e incluso con entradas de mayúsculas y minúsculas, la clasificación A-Z funciona como se esperaba.

Voy a usar un archivo de texto de muestra llamado filename.txt y si ve el contenido del archivo, esto es lo que verá:

MX Linux
Manjaro
Mint
elementary
Ubuntu

Ahora, si usa el comando ordenar en él:

sort filename.txt

Aquí está la salida ordenada alfabéticamente:

elementary
Manjaro
Mint
MX Linux
Ubuntu

2. Ordenar por valor numérico [opción -n]

Tomemos la misma lista que usamos para el ejemplo anterior y ordenemos en orden numérico. En caso de que se lo pregunte, la lista refleja las distribuciones de Linux más populares (julio de 2019) según distrowatch.com.

Modificaré el contenido del archivo para que los elementos estén numerados, pero fuera de orden, como se muestra a continuación.

1. MX Linux
4. elementary
2. Manjaro
5. Ubuntu
3. Mint
sort filename.txt

Después de ordenar, el resultado es:

1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu

Se ve bien, ¿verdad? Sin embargo, ¿puede confiar en este método para organizar sus datos con precisión? Probablemente no. Veamos otro ejemplo para averiguar por qué.

Aquí está mi nuevo texto de muestra:

1
5
10
3
5
2
60
23
432
21

Ahora, si uso el comando ordenar sin ninguna opción, esto es lo que obtengo:

[email protected]:~$ sort order.txt
1
10
2
21
23
3
432
5
5
60

NOTA:Los números se ordenan solo por sus caracteres principales.

Cuando agrega el -n opción, el valor numérico de la cadena ahora se evalúa en lugar de solo el primer carácter. Ahora, puede ver a continuación que nuestra lista está ordenada correctamente.

sort order.txt -n

Ahora tendrá la salida ordenada correctamente:

1
2
3
5
5
10
21
23
60
432

3. Ordenar en orden inverso [opción -r]

Para este, voy a usar nuestra lista de distribuciones nuevamente. La función inversa se explica por sí misma. Invertirá el orden de cualquier contenido que tenga en su archivo.

sort filename.txt -r

Y aquí tienes el texto de salida en orden inverso:

5. Ubuntu
4. elementary
3. Mint
2. Manjaro
1. MX Linux

4. Clasificación aleatoria [opción -R]

Si accidentalmente aplastó la tecla de mayúsculas mientras intentaba la función inversa, es posible que haya obtenido algunos resultados extraños. -R reorganiza la salida en orden aleatorio.

sort filename.txt -R

Aquí está la salida ordenada aleatoriamente:

4. elementary
1. MX Linux
2. Manjaro
5. Ubuntu
3. Mint

5. Ordenar por meses [opción -M]

Ordenar también tiene una funcionalidad integrada para organizar por mes. Reconoce varios formatos en función de la información específica del lugar. Traté de demostrar algunas pruebas únicas para mostrar que se organizará por fecha y día, pero no por año. Las abreviaturas de los meses se muestran antes de los nombres completos.

Aquí está el archivo de texto de muestra en este ejemplo:

March
Feb
February
April
August
July
June
November
October
December
May
September
1
4
3
6
01/05/19
01/10/19
02/06/18

Ordenémoslo por meses usando la opción -M:

sort filename.txt -M

Este es el resultado que verá:

01/05/19
01/10/19
02/06/18
1
3
4
6
Jan
Feb
February
March
April
May
June
July
August
September
October
November
December

6. Guarde los resultados ordenados en otro archivo

Como mencioné anteriormente, ordenar no cambia el archivo original de manera predeterminada. Si necesita guardar el contenido ordenado, puede hacerlo.

Para este ejemplo, he creado un nuevo archivo donde quiero que la información ordenada se imprima y se guarde con el nombre filename_sorted.txt.

Precaución: Si intenta dirigir sus datos ordenados al mismo archivo, se borrará el contenido de su archivo.

sort filename.txt -n > filename_sorted.txt

Si usa el comando cat en el archivo de salida, este será su contenido:

1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu

7. Ordenar columna específica [opción -k]

Si tiene una tabla en su archivo, puede usar -k opción para especificar qué columna ordenar. Agregué algunos números arbitrarios como una tercera columna y mostraré el resultado ordenado por cada columna. He incluido varios ejemplos para mostrar la variedad de salida posible. Las opciones se agregan después del número de columna.

1. MX Linux 100
2. Manjaro 400
3. Mint 300
4. elementary 500
5. Ubuntu 200
sort filename.txt -k 2

Esto ordenará el texto en la segunda columna en orden alfabético:

4. elementary 500
2. Manjaro 400
3. Mint 300
1. MX Linux 100
5. Ubuntu 200
sort filename.txt -k 3n

Esto ordenará el texto por los números en la tercera columna.

1. MX Linux 100
5. Ubuntu 200
3. Mint 300
2. Manjaro 400
4. elementary 500
sort filename.txt -k 3nr

Igual que el comando anterior, solo que el orden de clasificación se ha invertido.

4. elementary 500
2. Manjaro 400
3. Mint 300
5. Ubuntu 200
1. MX Linux 100

8. Ordenar y eliminar duplicados [opción -u]

Si tiene un archivo con posibles duplicados, el -u opción te hará la vida mucho más fácil. Recuerde que ordenar no hará cambios en su archivo de datos original. Elegí crear un nuevo archivo con solo los elementos que están duplicados. A continuación, verá la entrada y luego el contenido de cada archivo después de ejecutar el comando.

1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu
1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu
1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu
sort filename.txt -u > filename_duplicates.txt

Aquí están los archivos de salida ordenados y sin duplicados.

1. MX Linux 
2. Manjaro 
3. Mint 
4. elementary 
5. Ubuntu 

9. Ignorar mayúsculas y minúsculas al ordenar [opción -f]

Muchas distribuciones modernas que ejecutan sort implementarán ignorar mayúsculas y minúsculas de forma predeterminada. Si el tuyo no lo hace, agrega el -f opción producirá los resultados esperados.

sort filename.txt -f

Aquí está el resultado donde los casos son ignorados por el comando sort:

alpha
alPHa
Alpha
ALpha
beta
Beta
BEta
BETA

10. Ordenar por valores numéricos humanos [opción -h]

Esta opción permite la comparación de valores alfanuméricos como 1k (es decir, 1000).

sort filename.txt -h

Aquí está la salida ordenada:

10.0
100
1000.0
1k

Espero que este tutorial te haya ayudado a entender el uso básico del comando sort en Linux. El comando Sort se usa a menudo en combinación con el comando uniq en Linux para ordenar archivos de texto de forma única.

Si tiene algún truco de clasificación genial, ¿por qué no lo comparte con nosotros en la sección de comentarios?


Linux
  1. 12 ejemplos útiles de comandos Wget en Linux

  2. Ordenar comando en Linux con ejemplos

  3. 9 ejemplos útiles del comando Split en Linux

  4. Ejemplos útiles del comando Docker ps

  5. ordenar ejemplos de comandos en Linux

Comando pwd en Linux con ejemplos útiles

Comando SS en Linux con ejemplos útiles

Ordenar comando en Linux con ejemplos

Ejemplos esenciales del comando ps en Linux

15 ejemplos súper útiles del comando Buscar en Linux

12 ejemplos útiles de comandos de fecha de Linux