martes, 21 de septiembre de 2010

Comando sort : ordenar lineas de texto de un archivo

El comando sort ordena las lineas de un archivo de texto según varios criterios, algunos de las opciones más útiles son:
-n utilizar ordenamiento numérico en lugar de alfanumérico (letras)
-r invertir orden
-f ignora mayúsculas y minúsculas
-k número ordenar usando la columna número
-t nuevoseparador usar como separador el nuevo separador en lugar del separador por defecto. ej -t, o -t","
-u suprime las lineas repetidas ( similar al comando uniq )

Supongamos que tenemos el siguiente archivo ( cat > prueba.txt):
1 a 123
5 b 64
2 A 32
3 a 16

Los siguientes comandos dan las siguientes salidas:
- Ordenación por defecto
sort prueba.txt
1 a 123
2 A 32
3 a 16
5 b 64

- Ordenación usando la tercera columna
sort -k3 prueba.txt
1 a 123
3 a 16
2 A 32
5 b 64

- Orden usando la tercera columna y orden numérico
sort -k3 -n prueba.txt
3 a 16
2 A 32
5 b 64
1 a 123

- Orden usando la segunda columna y orden inverso
sort -k2 -r prueba.txt
5 b 64
2 A 32
3 a 16
1 a 123

-Si por ejemplo el archivo usase como separador la coma (,) la sintaxis sería:
sort -t, -k3 -n prueba2.txt
3,a,16
2,A,32
5,b,64
1,a,123

1 comentario:

Javito M dijo...

Muy buen Aporte!!! me sacaste tremenda duda con el material!! GRACIAS!!