Buscar un fichero creado entre dos fechas

Te acuerdas que creaste un fichero entre el 15 de Septiembre de 2008 y el 30 de Septiembre de ese mismo año. ¿Cómo lo puedes buscar en Linux? Fácil, usando el comando find y este truquito:

$ touch -d "15 sep 2008" /tmp/begin
$ touch -d "30 sep 2008" /tmp/end
$ find . -newer /tmp/begin -a ! -newer /tmp/end

Lo he necesitado varias veces y nunca me acordaba de la receta, así que la dejo aquí compartida para todos. ¡Que os aproveche!

7 comentarios en «Buscar un fichero creado entre dos fechas»

  1. Podias explicar un poco que es lo que hace touch -d, acaso crea algun tipo de archivo, lo siento pero aunque lo he buscado con el man no me entero de lo que esta pasando realmente. Un saludo.

  2. El comando

    touch -d «una_fecha_X» /tmp/fichero

    genera un fichero vacío con fecha de creación igual a la fecha_X que indiquemos.

    El comando find simplemente buscar ficheros creados más recientemente que fecha_inicio pero más viejos que fecha_fin (-a = AND lógico, el símbolo ! es de negación, y hay que filtrarlo con para que bash no lo interprete)

  3. Miércoles 24 de junio de 2020, increíble! Me sirvió muy bien.
    Yo lo usé para buscar archivos entre dos fechas y horas determinadas y además eliminarlos. Lo hice así:
    sudo find -newermt «23 jun 2020 00:00» ! -newermt «24 jun 2020 13:00» -exec rm -R {} \;

  4. yo lo uso asi

    find -newermt 2020-09-10 ! -newermt 2020-11-10 -exec ls {} \;
    si los quiero listar

    find -newermt 2020-09-10 ! -newermt 2020-11-10 -exec rm {} \;
    si los quiero borrar

Responder a topo Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.