Comment supprimer des fichiers sous Linux de plus d'un an? [dupliquer]

9

Duplicata possible:
Comment supprimer des fichiers supérieurs à une certaine date sur Linux

Comment supprimer tous les fichiers du répertoire actuel et ses sous-répertoires de plus d'un an?

Communauté
la source
1
Faites man find. Boom.
1
Note aux fermiers: cette autre question est en fait différente de façon confuse, ses réponses ne sont pas complètement simples à transposer.
Gilles de être le mal d'arrêt SO- '

Réponses:

15
find /the/dir/to/start/in -type f -mtime +365 -ls -exec rm -f -- {} \;
bot403
la source
2
find /path/to/files -type f -mtime +365 -deleteserait plus facile.
Chris S
-delete n'est pas dans ma recherche aix donc je ne suis pas habitué à l'utiliser. Je suis content que cela soit implémenté dans d'autres binaires de recherche.
bot403
find … -exec rm -f {} +sera un peu plus rapide (et il est portable sauf pour les anciens systèmes).
Gilles 'SO- arrête d'être méchant'
1
En outre, c'est une bonne idée à utiliser --au cas où le premier nom de fichier commence par un -(bien que vous puissiez garantir que cela ne se produira pas si le répertoire passé à findne commence pas par un -).
Gilles 'SO- arrête d'être méchant'
C'est extrêmement dangereux car vous ne voyez pas ce que vous êtes sur le point de supprimer et pourquoi dans le monde forcez-vous à supprimer avec -f? Certains fichiers sont protégés pour une raison. Il est beaucoup plus sûr de stocker les résultats de la recherche dans un fichier, puis de les examiner et d'exécuter rm sur le contenu du fichier.
Petr
2

Si vous supprimez de nombreux fichiers, cela est généralement beaucoup plus rapide que "-exec" ou le transfert vers "xargs":

find . -type f -mtime +365 | perl -lne unlink
Pontus
la source