Fecha de última modificación:

3 Abril, 2015 - 23:36

sort

Ordenar líneas de los archivos de entrada a partir de criterios de ordenación. Los espacios en blanco son tomados por defecto como separadores de campo.

Su sintaxis es de la forma:
sort [opciones] [archivo]

Alguno de sus opciones son:

-b Ignora espacios en blanco precedentes.

-d Ordena ignorando todos los caracteres salvo caracteres letras, números y espacios.

-f considera iguales las mayúsculas y minúsculas.

-n ordena por valor numérico.

-r invertirá el orden.

-k n1,[n2] Especifica un campo como clave de ordenación, comienza en n1 y acaba en n2; los números de campo empiezan en 1. En versiones antiguas 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, (los números de campo empezaban en 0).

-o salida.txt Escribir el resultado en salida.txt.


Ejemplos de uso, para lo cual se tomara como ejemplo el archivo pepe.txt cuyo contenido es:

# cat pepe.txt 
     15 windows
     16 acer
      2 actualizacion
      1 actualizada
      3 admiral
      2 www
      1 agregar
     10 aires
      1 al
      1 algunos
      1 empleos
     60 en
      2 equipo
     45 archivos
      3 word

sort pepe.txtOrdena el archivo pepe.txt

# sort pepe.txt 
     10 aires
     15 windows
     16 acer
      1 actualizada
      1 agregar
      1 al
      1 algunos
      1 empleos
      2 actualizacion
      2 equipo
      2 www
      3 admiral
      3 word
     45 archivos
     60 en

sort -k 1 pepe.txtOrdena el archivo usando el primer campo como clave de ordenación. Tiene el mismos efecto que sort pepe.txt

# sort -k 1  pepe.txt 
     10 aires
     15 windows
     16 acer
      1 actualizada
      1 agregar
      1 al
      1 algunos
      1 empleos
      2 actualizacion
      2 equipo
      2 www
      3 admiral
      3 word
     45 archivos
     60 en

sort -k 2 pepe.txtOrdena el archivo usando el segundo campo como clave de ordenación.

# sort -k 2  pepe.txt 
     16 acer
      2 actualizacion
      1 actualizada
      3 admiral
      1 agregar
     10 aires
      1 al
      1 algunos
     45 archivos
      1 empleos
     60 en
      2 equipo
     15 windows
      3 word
      2 www

sort -n pepe.txtOrdena el archivo por valor numérico.

# sort -n pepe.txt 
      1 actualizada
      1 agregar
      1 al
      1 algunos
      1 empleos
      2 actualizacion
      2 equipo
      2 www
      3 admiral
      3 word
     10 aires
     15 windows
     16 acer
     45 archivos
     60 en

sort -nr pepe.txtOrdena el archivo por valor numérico de mayor a menor (invierte el orden).

# sort -nr pepe.txt 
     60 en
     45 archivos
     16 acer
     15 windows
     10 aires
      3 word
      3 admiral
      2 www
      2 equipo
      2 actualizacion
      1 empleos
      1 algunos
      1 al
      1 agregar
      1 actualizada

sort -t @ -k 2,2 pp.txt ordena el archivo pp.txt por el segundo campo, y el separador de campo que utilizo es el @ arroba.


Un ejemplo de uso práctico es si tengo una lista desordenada (de por ejemplo una palabra por fila) y quiero averiguar cuantas veces se repite cada palabra, para lo cual puede usar el comando:
sort -bdf lista | uniq -ic | sort -nr
Donde sort -bdf lista ordenará la lista, para que el comando uniq -ic pueda contar el número de líneas iguales (considera iguales las mayúsculas y minúsculas), por último ejecuto sort -nr para que ordene la lista por la palabra que se repite más.

# cat ejemplo.txt
mama
pepe
hola
Hola
pepe
Hola
si
no
Mama
www
# sort -bdf ejemplo.txt | uniq -ic | sort -nr
      3 hola
      2 pepe
      2 mama
      1 www
      1 si
      1 no

Este comando es utilizado en conjunto con el comando uniq, ya que para encontrar lineas duplicadas consecutivas primero hay que ordenar el contenido del archivo.

Leer más sobre: 

¿Te resulto útil?: 

1

Envíanos tús preguntas, comentarios o sugerencias

 

Solicita Asistencia

Llámenos al:+549 11 (15)32788353

Envíenos un e-mail: consultas@ ---Para enviar el SPAM--- francisconi.org

Skype Status for francisconi.hugo.adrian
 

Suscríbete

Suscríbete y recibe las últimas actualizaciones, noticias y más ...