Suppression de fichiers en nombre sous Linux ou OSX

Si vous avez besoin d’effacer un grand nombre de fichiers, la commande rm seule ne vous sera pas utile, elle est limitée (je n’ai pas encore trouvé le nombre exact).

Dans le cas d’un rm de masse, c’est très désagréable d’avoir comme réponse : Argument list too long.

Pour y remédier la commande find vous aidera.

Exemple :
#find . -name ‘*.log’ | xargs rm

Selon le nombre de fichiers, on évitera de lister à travers le -name car vous aurez les mêmes résultats.

Donc le mieux pour une suppression au dessus de 100 000 fichiers :

Exemple :
#find . -type f -exec rm {} \;

Vous pouvez aussi limiter au fichier non modifié depuis 24h (1 jour) par exemple.

Exemple :
#find . -name “*.gz” -mtime +1 -exec rm {} \;

Et voilà, pour plus de précision : man find .

3.67 avg. rating (75% score) - 3 votes