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