El shell de linux: Comando sort

Este contenido sólo se encuentra disponible para miembros premium.
Si deseas hacerte premium, envíanos un mail a registro@algodelinux.com y te informaremos.
This Article Has 36 Comments
  1. Anónimo

    está bien, útil, aunque falta por ejemplo el sort -k 1, sort -t

  2. Esteban M. Navas

    Hombre, tampoco pretendía hacer un análisis muy detallado del comando. Y, por poner, se podían poner muchas cosas. El -k se me pasó ponerlo porque sí lo uso bastante. En cuanto a -t es lo mismo que –field-separator. Pero no sé por qué, tengo costumbre de usar –field-separator.
    Si quieres, puedes ampliar el artículo con un comentario.

  3. Maria Teresa

    me gustaria saber cual es el comando para que los ficheros salgan solo con el nombre y tamaño gracias

  4. Esteban M. Navas

    Hola, María Teresa:
    ¿Qué es lo que quieres hacer? ¿Filtrar la salida de ls para obtener un listado de ficheros y sus tamaños?

  5. Anónimo

    Hola tengo el siguiente problema:

    Tengo un fichero con 3 campos, donde el tercero son numero de telefono.

    nombre:apellidos:telefono

    usando el comando sort quiero que me muestre solo los que el telefono empieza por 91

    muchas gracias

  6. Esteban M. Navas

    Podrías ejecutar el comando sort y filtrar con grep:

    sort -t»:» -k3 fichero | grep «91»

  7. Anónimo

    quiero ordenar un fichero de mayor a menor nose como hacerlo 🙁

  8. Esteban M. Navas

    Utiliza el parámetro -r para ordenar de modo inverso.

  9. Anónimo

    Tengo que ordenar los numero de un fichero pero no estan por columnas si no que estan todos en una fila
    Seria algo asi:
    10 40 30 50 80

    Tengo que sacar el mayor y decir en que posicion esta

    Alguna ayuda??
    asias de ante mano

  10. Esteban M. Navas

    Podrías hacer un pequeño script. Te pongo un ejemplo:

    #!/bin/bash
    FICHERO=numeros.txt
    i=1
    MAYOR=0
    for NUMERO in `cat $FICHERO`; do
    if [ $NUMERO -gt $MAYOR ]; then
    MAYOR=$NUMERO
    POSICION=$i
    fi
    ((i=i+1))
    done
    echo "Número: " $MAYOR
    echo "Posición " $POSICION

    En la variable FICHERO pondrías el nombre del fichero donde se encuentran los números.

  11. Anónimo

    como le agO Para que me muestre el nombre de usuario y el id. y Ordenarlo primero por usuario y despues por el identificador de grupo.
    si tengo algo así
    usuario:passwd:id:grupo:desc..

  12. Manuel

    esteban como hago para ordenarlo de menor a mayor

  13. Esteban M. Navas

    Hola, Manuel. De menor a mayor es como se realiza la ordenación por defecto. No tienes que especificar nada.

  14. Anónimo

    tengo un fichero como este:

    servidor:/var/www/carlos# cat listado_equipos.txt
    00:22:15:79:49:52,a0c11-pro,172.17.170.31
    00:22:15:79:34:04,a0c3-pro,172.17.170.32
    00:22:15:79:35:04,a0c4-pro,172.17.170.33
    00:22:15:63:de:10,a1a2-pro,172.17.170.34
    00:22:15:48:c6:8c,a1a4-pro,172.17.170.35
    00:22:15:63:dd:dc,a1b10-pro,172.17.170.36
    00:22:15:63:c7:95,a1b4-pro,172.17.170.37
    00:22:15:63:c8:e3,a1b5-pro,172.17.170.38
    00:22:15:63:d4:71,a1b6-pro,172.17.170.39
    00:22:15:63:c8:22,a1b7-pro,172.17.170.40
    00:22:15:48:c6:4b,a1b8-pro,172.17.170.41
    00:22:15:63:c7:d5,a1b9-pro,172.17.170.42
    00:22:15:81:7a:8c,a1c1-pro,172.17.170.43
    00:22:15:79:4b:70,a1c2-pro,172.17.170.44
    00:22:15:63:dc:ba,a1c3-pro,172.17.170.45
    00:22:15:63:dc:9e,a1c4-pro,172.17.170.46
    00:22:15:81:83:a0,a2a1-pro,172.17.170.47
    00:22:15:79:49:64,a2a2-pro,172.17.170.48
    00:22:15:60:19:4e,a2a4-pro,172.17.170.49
    00:22:15:63:dd:a5,a2a5-pro,172.17.170.50
    00:22:15:06:7e:c5,a2b4-pro,172.17.170.51
    00:22:15:91:83:fd,a2b7-pro,172.17.170.52
    00:22:15:63:dc:ae,a2b8-pro,172.17.170.53
    00:22:15:06:7e:df,a2b9-pro,172.17.170.54
    00:22:15:06:7e:db,a2c1-pro,172.17.170.55
    00:22:15:63:de:11,a2c2-pro,172.17.170.56
    00:22:15:63:dc:07,a2c3-pro,172.17.170.57
    00:22:15:81:84:71,a2c4-pro,172.17.170.58
    00:09:6b:b1:b8:3f,lenix-carlos,172.17.170.100
    00:09:6b:b1:50:55,lenix-pruebas,172.17.170.101
    00:03:47:c2:88:ce,asalapro3,172.17.170.102
    00:48:54:3A:DF:AA,ad11-pro,172.17.170.103
    00:09:6b:b1:50:95,aula-musica,172.17.170.104
    00:09:6b:b1:52:8b,aula-musica2,172.17.170.105

    como lo ordeno por ip??

  15. Esteban M. Navas

    Viendo los datos que contiene el fichero y que todas las ips tienen en común 172.17.170, yo optaría por ordenarlo de la siguiente manera:

    sort -t. -k4n listado_equipos.txt

  16. Anónimo

    anonimo dijo:
    Tengo un fichero con 3 campos, donde el tercero son numero de telefono.

    nombre:apellidos:telefono

    rta:
    sort -t":" -k3 fichero | grep "^91"

    ^91 significa comienza con 91

  17. Paola

    Buenos días necesito mirar las fechas de un archivo y saber cual es la fecha menor y la fecha mayor.
    Como podría hacerlo?
    Muchas gracias!

  18. Paola

    Buenos días necesito mirar las fechas de un archivo y saber cual es la fecha menor y la fecha mayor.
    Como podría hacerlo?
    Muchas gracias

  19. Paola

    Buenos días necesito mirar las fechas de un archivo y saber cual es la fecha menor y la fecha mayor.
    Como podría hacerlo?
    Muchas gracias

  20. Esteban M. Navas Martín

    Hola, Paola:
    No sé qué es lo que necesitas hacer exactamente, pero para consultar las fechas de creación, acceso, modificación o cambio, puedes usar el comando stat. Por ejemplo:

    # stat nombrearchivo

  21. Paola

    Dentro de un archivo se encuentran varias fechas necesito que mire las fechas que estén y me diga cual es la fecha menor y la fecha mayor.

  22. Esteban M. Navas Martín

    Imagino que el archivo tendrá en cada línea diferentes campos, entre ellos la fecha. Si es así, en principio, tan sólo tendrías que identificar qué campo es el de la fecha, ordenar el archivo por dicho campo y filtrar la salida para extraer la primera línea con head -1 y la última con tail -1

  23. Anónimo

    Buenos Días, necesito que me digan como creo un script que muestre los nombres que comiencen por la letra A y su numero telefónico que comience por 875!!!, si no es mucha molestia, gracias anticipadas…

  24. Anónimo

    Buenas noches, como puedo filtrar lineas de un archivo por un rango de fechas especificados en un campo

  25. Anónimo

    Buenas noches, como puedo filtrar lineas de un archivo por un rango de fechas especificados en un campo

  26. Anónimo

    Buenas noches, como puedo filtrar lineas de un archivo por un rango de fechas especificados en un campo

  27. victor

    Buenas noches, como puedo filtrar lineas de un archivo por un rango de fechas especificados en un campo

  28. Anónimo

    como hago para hacer un reporte de usuarios ordenado por su espacio utilizado en disco?

  29. Anónimo

    como se hace un reporte por usuarios ordenado por su espacio utilizado en disco.

  30. Esteban M. Navas Martín

    Veo que hay muchas preguntas en este post sobre cómo hacer cosas concretas.

    Para obtener el resultado que queráis, tan sólo tenéis que combinar los comandos del sistema e ir comprobando que váis obteniendo lo que queréis. Es como ir construyendo un puzzle en el que combinamos las piezas.

  31. JoJoGraMo

    hola viejo, mi pregunta puede resultar algo fuera de lo comun pero no pierdo nada con hacerla:

    Es la siguiente como hago para hacer un scrip con los comandos necesarios para escanear un disco y en el comparar todos los archivos por tamaño, nombre y fecha de modificacion y eliminar los que coinsidan. es para organizar la data de un disco de respaldos.

    Saludos y gracias de antemano

  32. Esteban M. Navas Martín

    Hola, JoJoGraMo:

    Hacer un script es como resolver un problema de matemáticas:
    Primero, analiza lo que te piden y extrae los datos que necesitas, luego piensa en las operaciones que tienes que hacer y, por último, qué comandos puedes usar para combinarlos de tal manera que el resultado sea lo que tú quieras.

    Para empezar, tendrías qué ver qué significa escanear el disco y con qué comandos puedes realizar dicho escaneo para obtener los datos que necesitas.

    Una vez que lo tengas claro, estudia cómo filtrar el conjunto de datos que te ofrecen los comandos para quedarte tan sólo con la parte que te interesa y tendrás tu script.

    Un saludo,

    Esteban M.

  33. Anónimo

    Hola Esteban, una consulta, cómo puedo contar los campos fecha de un archivo de texto.
    file.txt (nombre;apellido;fecha)

    Ejemplo de salida:
    $5 20/05/2014
    $10 21/05/2014
    $12 22/05/2014
    Gracias.

  34. Anónimo

    Hola Esteban, una consulta, cómo puedo contar los campos fecha de un archivo de texto.
    file.txt (nombre;apellido;fecha)

    Ejemplo de salida:
    $5 20/05/2014
    $10 21/05/2014
    $12 22/05/2014
    Gracias.

  35. Anónimo

    Y para comparar??
    o sea sort -u file 1 file 2 > file 3
    Pero file 3 – file 4 = file 5
    gracias

  36. cesar aponte

    tengo una archivo así:
    aaaa bbb cccc aaa bbbb ccc dddd aaaaa bbb cccc ddd eeee aaa dddd aaa aaa bbb ccc

    y así sucesivamente lo que desea es que cada vez que encuentre un parámetro es decir la "aaa" haga un salto de linea algo así

    aaaa bbb cccc
    aaa bbbb ccc dddd
    aaaaa bbb cccc ddd eeee
    aaa dddd
    aaa
    aa bbb ccc

    me podrían colaborar gracias.