GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo se eliminan archivos anteriores a la fecha específica en Linux?

find ~ -type f ! -atime 4|xargs ls -lrt

Esto mostrará una lista de los archivos a los que se accedió con más de 4 días , buscando desde el directorio de inicio.


Puede tocar su marca de tiempo como un archivo y usarlo como punto de referencia:

p.ej. para el 01-ene-2014:

touch -t 201401010000 /tmp/2014-Jan-01-0000

find /path -type f ! -newer /tmp/2014-Jan-01-0000 | xargs rm -rf 

esto funciona porque find tiene un -newer interruptor que estamos usando.

Desde man find :

-newer file
       File  was  modified  more  recently than file.  If file is a symbolic
       link and the -H option or the -L option is in effect, the modification time of the 
       file it points to is always used.

Esta otra respuesta contamina el sistema de archivos y find en sí mismo ofrece una opción de "eliminar". Por lo tanto, no tenemos que canalizar los resultados a xargs y luego emitir un rm.

Esta respuesta es más eficiente:

find /path -type f -not -newermt "YYYY-MM-DD HH:MI:SS" -delete

Esto funciona para mí:

find /path ! -newermt "YYYY-MM-DD HH:MM:SS" | xargs rm -rf

Linux
  1. ¿Cómo eliminar todos los archivos anteriores a X número de días en Linux?

  2. Cómo encontrar y eliminar directorios y archivos vacíos en Linux

  3. buscar y eliminar archivos o carpetas con más de x días

  4. Cómo eliminar un archivo con este nombre en Linux:-]???????q

  5. Linux:uso de buscar para localizar archivos anteriores a <fecha>

Cómo encontrar y eliminar archivos que contienen un texto específico en sus nombres en Linux

Cómo encontrar archivos basados ​​en la marca de tiempo en Linux

Cómo eliminar archivos anteriores a los días especificados en Linux

Cómo encontrar archivos que contengan una cadena de texto específica en Linux

Cómo encontrar archivos modificados en las últimas 24 horas en Linux

Cómo eliminar archivos enumerados en otro archivo en Linux