GNU/Linux >> Linux Esercitazione >  >> Linux

Come si eliminano i file più vecchi di una data specifica in Linux?

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

Questo elencherà i file a cui è stato effettuato l'accesso più vecchi di 4 giorni , cercando dalla home directory.


Puoi toccare il tuo timestamp come file e usarlo come punto di riferimento:

per esempio. per 01-gen-2014:

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

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

funziona perché find ha un -newer interruttore che stiamo usando.

Da 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.

Quest'altra risposta inquina il file system e find stesso offre un'opzione "cancella". Quindi, non dobbiamo reindirizzare i risultati a xargs e quindi emettere un rm.

Questa risposta è più efficiente:

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

Questo funziona per me:

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

Linux
  1. Come trovare un file in Linux

  2. Come eliminare tutti i file più vecchi di X numero di giorni in Linux?

  3. Come trovare ed eliminare file più vecchi di un determinato periodo di tempo in Linux

  4. Come eliminare file con questo nome su Linux:-]???????q

  5. Linux:utilizzo di find per individuare i file più vecchi di <date>

Come trovare ed eliminare file che contengono un testo specifico nei loro nomi in Linux

Come trovare file basati su timestamp in Linux

Come eliminare file più vecchi di giorni specificati in Linux

Come trovare file contenenti una stringa di testo specifica in Linux

Come trovare i file modificati nelle ultime 24 ore in Linux

Come eliminare i file elencati in un altro file in Linux