116 votes

Comment supprimer tous les fichiers qui correspondent à un modèle ?

Lorsque je fais un retour en arrière dans Mercurial, cela laisse plusieurs .orig des fichiers. J'aimerais pouvoir exécuter une commande pour les supprimer tous.

J'ai trouvé des sources qui disent qu'il faut courir :

rm **/*.orig

Mais ça me donne le message :

rm: cannot remove `**/*.orig': No such file or directory

J'ai également essayé ces commandes :

rm -rv *.orig
rm -R *\.orig

213voto

Mufaka Points 54

Utilisez le find commande (avec précaution !)

find . -name '*.orig' #-delete

J'ai commenté la commande de suppression mais une fois que vous êtes satisfait de ce qu'elle correspond, supprimez simplement l'élément # de la ligne et cela devrait supprimer tous ces fichiers.

17voto

user2038042 Points 171

"find" possède des techniques très avancées pour rechercher dans tous les répertoires ou les répertoires courants et les fichiers rm.

find ./ -name ".orig" -exec rm -rf {} \;

7voto

Taras Vaskiv Points 321

J'ai supprimé tous les fichiers qui commencent par .nfs000000000 comme ceci

rm .nfs000000000*

1voto

RuNpiXelruN Points 111

Voici ce que je ferais normalement

find ./ -name "*.orig" | xargs rm -r

C'est une bonne idée de vérifier les fichiers que vous allez supprimer en premier lieu en vérifiant le fichier xargs . Les fichiers que vous avez trouvés seront imprimés ci-dessous.

find ./ -name "*.orig" | xargs

Si vous remarquez qu'un fichier a été trouvé et que vous ne voulez pas le supprimer, vous pouvez modifier la configuration initiale de l'ordinateur. find ou ajouter un grep -v qui omettra une correspondance, à savoir

find ./ -name "*.orig" | grep -v "somefiletokeep.orig" | xargs rm -r

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X