Comando sort

El comando sort es muy útil cuando queremos ordenar las líneas de un fichero en Linux según el criterio que mas nos convenga para ello.

Hay que tener en cuenta que el comando sort entiende los espacios en blanco como separadores de campos y que el primer campo de ordenación será el número 0.

Supongamos que tenemos la siguiente lista desordenada:

pi@pi4:~/linux/sort $ cat listadesordenada.txt 
5 Alberto
2 Jose
7 Fernando
1 Laura
4 Antonio
6 Maria
8 Daniel
3 Carmen

Si introducimos el comando sort sin ninguna opción ordenará el fichero teniendo en cuenta el primer campo:

pi@pi4:~/linux/sort $ sort listadesordenada.txt 
1 Laura
2 Jose
3 Carmen
4 Antonio
5 Alberto
6 Maria
7 Fernando
8 Daniel

Podemos utilizar la opción «sort -r» para ordenar el fichero a la inversa:

pi@pi4:~/linux/sort $ sort -r listadesordenada.txt 
8 Daniel
7 Fernando
6 Maria
5 Alberto
4 Antonio
3 Carmen
2 Jose
1 Laura

Otra opción muy interesante es la de ordenar el fichero indicando un campo clave distinto, por ejemplo podemos elegir el segundo campo (nombres) con la opción «sort -k 2«:

pi@pi4:~/linux/sort $ sort -k 2 listadesordenada.txt 
5 Alberto
4 Antonio
3 Carmen
8 Daniel
7 Fernando
2 Jose
1 Laura
6 Maria

También podemos guardar los resultados en un fichero con la opción «sort -o ficheronuevo ficheroaordenar«:

pi@pi4:~/linux/sort $ sort -o listaordenada listadesordenada.txt

Visualizamos el fichero que hemos creado al guardar los datos de la ejecución del comando anterior:

pi@pi4:~/linux/sort $ cat listaordenada 
1 Laura
2 jose
3 carmen
4 Antonio
5 Alberto
6 maria
7 Fernando
8 daniel