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