Supprimer récursivement certains fichiers

À l'aide de la commande find, vous pouvez localiser et supprimer des fichiers en fonction de nombreux attributs tels que filetype. Cette recette technique montrera comment trouver et supprimer des fichiers en fonction d'une partie de leur nom de fichier.


Pour rechercher et supprimer tous les fichiers du système se terminant par .log, exécutez la commande en tant que superutilisateur:

trouver / -name \ *. log -exec rm {} \;

Les barres obliques inverses (\) sont importantes dans cette commande. L'utilisation de l'option -exec permet à une commande arbitraire, dans ce cas, rm, d'être utilisée avec le nom de fichier substitué à la place des caractères {}.

Cette commande serait dangereuse à exécuter. Une alternative plus sûre utilise la commande -ok au lieu de -exec. Lorsqu'il est utilisé de cette façon, find vous le demandera avant chaque exécution de la commande suivant -ok. Pour supprimer éventuellement tous les fichiers se terminant par .tmp dans le système de fichiers / var, utilisez les éléments suivants:

trouver / nom-var \ *. tmp -ok rm {} \;