Sort (Unix)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Sortunix.png/220px-Sortunix.png)
sort es una utilidad de la línea de comandos del sistema operativo Unix.
Funciona de la siguiente manera: toma los archivos que figuran en su lista de argumentos y ordena sus líneas. La ordenación se realiza sobre la base de una o más claves extraídas de cada línea de los archivos de entrada. De forma predeterminada, todos los datos de entrada se toman como clave de ordenación. Los espacios en blanco son tomados por defecto como separadores de campo. El parámetro -r invertirá el orden, -n toma un valor alfabético y lo interpreta como un número, con el parámetro -f no discriminara entre mayúsculas y minúsculas, -t se utiliza como separador de campo, -k busca según número de columna y lo ordena.
Uso:
$ sort [opciones] [archivo]
Ejemplos
Para ordenar el directorio actual por tamaño de archivo:
$ ls -s|sort -n 0 GNUstep 0 Mail 4 ALT.txt 4 Events 4 Ted.lnk 12 stats 124 _backup
Para ordenar una lista en un archivo por orden alfabético:
$ cat agenda.txt Juan López 555-4321 Antonia Pérez 555-1234 Rodolfo Ruiz 555-3214 Ana Cohen 555-4321 $ sort agenda.txt Ana Cohen 555-4321 Antonia Pérez 555-1234 Juan López 555-4321 Rodolfo Ruiz 555-3214
La opción -n hace que el orden sea de acuerdo a valores numéricos:
$ du /bin/* | sort -n 10 /bin/domainname 10 /bin/hostname 10 /bin/run-parts 42 /bin/cp 675 /bin/bash
En las versiones antiguas del comando existía la opción +1, la cual indicaba a sort que debía ordenarse tomando la segunda columna de datos (usándose +2 para la tercera y así sucesivamente). Las versiones más actuales no soportan esta opción, en su lugar se usa la opción -k, por ejemplo, para ordenar usando como criterio la segunda columna de datos:
esto está mal solo te lo ordena por el primer dígito si pusiésemos el nº 20 por ejemplo saldría el primero $ cat ''edades'' Francisco 45 Javier 56 Lola 34 Jorge 25 $ sort -nk 2 ''edades'' Jorge 25 Lola 34 Francisco 45 Javier 56
Ordenar un archivo usando separadores:
$ sort -t'|' -k2 ''edades'' Jorge|25 Lola|34 Francisco|45 Javier|56
La opción -r invierte el orden:
$ sort -nrk 2 ''edades'' Javier 56 Francisco 45 Lola 34 Jorge 25
Véase también
- Anexo:Programas para Unix
Enlaces externos
- sort(1) – Comandos generales en el manual de FreeBSD (en inglés)
- en Softpanorama.org
Datos: Q709123