Buscar..


Introducción

sort es un comando de Unix para ordenar datos en archivos en una secuencia.

Sintaxis

  • ordenar [opción] nombre de archivo

Parámetros

Opción Sentido
-u Haz que cada línea de salida sea única.

Observaciones

Manual de usuario completo de lectura de sort línea

Ordenar orden de salida

sort comando sort se usa para ordenar una lista de líneas.

Entrada desde un archivo

sort file.txt  

Entrada desde un comando

Puede ordenar cualquier comando de salida. En el ejemplo una lista de archivos siguiendo un patrón.

find * -name pattern | sort

Haz que la salida sea única

Si cada línea de la salida debe ser única, agregue la opción -u .

Para mostrar el propietario de los archivos en la carpeta

ls -l | awk '{print $3}' | sort -u

Tipo numérico

Supongamos que tenemos este archivo:

test>>cat file
10.Gryffindor
4.Hogwarts
2.Harry
3.Dumbledore
1.The sorting hat

Para ordenar este archivo numéricamente, use ordenar con la opción -n:

test>>sort -n file  

Esto debería ordenar el archivo de la siguiente manera:

1.The sorting hat  
2.Harry  
3.Dumbledore  
4.Hogwarts  
10.Gryffindor

Invertir el orden de clasificación: para invertir el orden de la clasificación, utilice la opción -r

Para invertir el orden de clasificación del archivo anterior use:

sort -rn file

Esto debería ordenar el archivo de la siguiente manera:

10.Gryffindor
4.Hogwarts
3.Dumbledore
2.Harry
1.The sorting hat

Ordenar por llaves

Supongamos que tenemos este archivo:

test>>cat Hogwarts 
  Harry        Malfoy        Rowena        Helga
  Gryffindor   Slytherin     Ravenclaw     Hufflepuff
  Hermione     Goyle         Lockhart      Tonks
  Ron          Snape         Olivander     Newt
  Ron          Goyle         Flitwick      Sprout

Para ordenar este archivo usando una columna como clave, use la opción k:

test>>sort -k 2 Hogwarts

Esto ordenará el archivo con la columna 2 como la clave:

  Ron        Goyle        Flitwick        Sprout
  Hermione   Goyle        Lockhart        Tonks
  Harry      Malfoy       Rowena          Helga
  Gryffindor Slytherin    Ravenclaw       Hufflepuff
  Ron        Snape        Olivander       Newt

Ahora si tenemos que ordenar el archivo con una clave secundaria junto con el uso de la clave principal:

sort -k 2,2 -k 1,1 Hogwarts 

Esto primero ordenará el archivo con la columna 2 como clave principal, y luego ordenará el archivo con la columna 1 como clave secundaria:

  Hermione        Goyle        Lockhart        Tonks
  Ron             Goyle        Flitwick        Sprout
  Harry           Malfoy       Rowena          Helga
  Gryffindor      Slytherin    Ravenclaw       Hufflepuff
  Ron             Snape        Olivander       Newt

Si necesitamos ordenar un archivo con más de 1 clave, entonces para cada opción -k necesitamos especificar dónde termina la clasificación. Entonces, -k1,1 significa iniciar la ordenación en la primera columna y terminar la ordenación en la primera columna.

-t opción

En el ejemplo anterior, el archivo tenía la pestaña delimitador predeterminada. En el caso de ordenar un archivo que tiene un delimitador no predeterminado, necesitamos la opción -t para especificar el delimitador. Supongamos que tenemos el archivo de abajo:

test>>cat file
5.|Gryffindor
4.|Hogwarts
2.|Harry
3.|Dumbledore
1.|The sorting hat

Para ordenar este archivo según la segunda columna, use:

test>>sort -t "|" -k 2 file

Esto ordenará el archivo de la siguiente manera:

3.|Dumbledore
5.|Gryffindor
2.|Harry
4.|Hogwarts
1.|The sorting hat


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow