2 min de lectura

Pues resulta que hoy me pidieron que revisara unos archivos por SSH lo cual obviamente representa consola y con ello la falta de herramientas gráficas que facilitan la búsqueda.

La tarea fue: listar archivos modificados en un rango de fechas

Obviamente, un ls -l no me fue suficiente. Aquí les describo paso a paso lo que hice hasta llegar al resultado.

Listar archivos con fecha completa

El primer problema fue que al hacer un ls -l no aparece la fecha completa… Listar archivos modificados en un rango de fechas usando ls
Link: Como poner colores a la terminal

Lograr mostrar el año se cumple con el comando

 

Listar archivos modificados en un rango de fechas usando ls --full-time

Encontrar archivos modificados en un rango de fechas

Ahora ¿Cómo hago si de esta lista de archivo solo quiero mostrar los modificados hace 15 días? Haremos un find indicando que “tan allá” en la fecha lo queremos y que “tan acá” lo queremos. Para eso se usa mtime, el cual en realidad funciona por horas de modo que el número indicado se multiplica por 24.

 

 

Con eso tenemos la lista de los archivos modificados que han sido modificados a lo mucho hace un día pero hace menos de 15 días.

Este comando no nos muestra los archivos como lo hicimos con un ls, pero lo podemos concatenar el ls al final para lograrlo.

 

De esta manera tenemos ya la lista de todos los archivos de manera recursiva que han sido modificados en el rango de fechas especificado.

Ignorar archivos ocultos

Si quisiéramos además ignorar los archivos ocultos lo hacemos con:

 

¿Te gustó este artículo?

Si te gustó este artículo, te ha servido o aprendiste algo nuevo; compártelo en tus redes sociales o invítame un cafe.

Líder técnico en equipos de desarrollo de software. Profesor de Desarrollo Web en la Universidad de Guadalajara. Emprendedora. Fundadora y CTO de CORB.mx. Ponente y tallerista. Colaboradora en proyectos de software libre y Open Source. Comprometida con la comunidad y la industria de la tecnología. Enfocada en el empoderamiento de las mujeres.

8 COMENTARIOS

  1. Tambien se puede hacer una busqueda y filtrar con grep de esta manera:

    Por ejemplo para buscar un archivo en cualquier parte del sistema y que fue modificado el 26 de agosto:

    ls -l / |grep “ago 26” -R

    Considerando que el comando ls -l muestra el mes abreviado y despues el dia, y pasamos el resultado del grep por el tunel. Agregamos la opcion -R para que la busqueda sea recursiva. Notese el “/” luego del ls -l para indicar que se debe iniciar al principio del arbol.

  2. Hola Michelle Gracias por tus datos
    Tengo una pregunta concreta
    segun la fecha de modificacion del archivo necesito saber el tamaño que ocupan
    ejemplo tengo una carpeta de 880GB y necesito saber del 1 de enero de 2017 hasta el 31 de diciembre de 2017 cuanto pesan esos archivos
    agradezco alguna luz

  3. Estimada Michelle. Excelente tu aportación. Por favor podrías ayudarme, ya que necesito eliminar ciertos archivos que se generan siempre entre las 23h00 y las 00h00

    Muchisimas gracias

    • Si estoy entendiendo tu pregunta, solo necesitamos agregar mas parametros al find:

      find / -type d -name 'tufolder'

      / – Para indicar que busque en todo el sistema
      d -name ‘fufolder’ – Para indicarle que busque directorios con el nombre ‘tufolder’

      Y sobre esto concatenas el resto de lo que necesites en tu búsqueda.

      • hola,
        estoy creando una agenda de telefono y en una de las opciones necesito crear una que me muestre la lista de contactos creada después de una fecha insertada dal usuario.
        me podrías ayudar?
        gracias.!!

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.