Bash
Usando orden
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