Suppression fichiers ubuntu
Résolu
Bonjour,
Comment effacer dans un répertoire et ses sous répertoires les fichiers qui ont la même extension .log par exemple
Merci
Comment effacer dans un répertoire et ses sous répertoires les fichiers qui ont la même extension .log par exemple
Merci
Configuration: Macintosh / Firefox 88.0
2 réponses
-
Bonjour,
Il suffit de lister les fichiers situés dans ce dossier avec la commandefind
, filtrer les fichiers concernés avecgrep
et réinjecter le tout dans la commanderm
à l'aide dexargs
. Avant de supprimer avecrm
de lancer juste le début de la commande, ce qui permettra de vérifier que tu t'apprêtes à supprimer ce que tu penses :
cd /le/bon/dossier find | grep "\.log$"
Si c'est bon :
find | grep "\.log$" | xargs rm -f
Pour aller plus loin : toutes les commandes sous linux sont documentées dans leur manuel. Par exemple pour comprendre comment fonctionne la commandegrep
, il suffit de taper dans un terminal la commandeman grep
. Le manuel permet de comprendre quelles options existent, ce qu'elles signifient, à quoi correspondent les paramètres et comment les définir. En l'occurrence, la commandegrep
permet de conserver uniquement les lignes qui satisfont une expression rationnelle (= expression régulière). En l'occurrence, l'expression rationnelle"\.log$"
signifie "le caractère '.', suivi des caractères log, et $ signifie que le motif doit apparaître en fin de ligne.
Bonne chance -
Merci mamiemando,
J'ai continué à chercher et j'ai trouvé cette solution qui marche aussi :
find ./Documents -type f -name "*.log" -exec rm -f {} "+"
MarcB-
Bonjour Marc,
Oui tout à fait ! Personnellement je suis plus de l'écolefind ... | grep ... | xargs ...
cargrep
laisse la possibilité de définir des filtres plus évolués (et aussi parce que je trouve le{}defind
un peu abscons). Pour ton cas particulier, n'utiliser quefind
est parfaitement correcte.
Merci pour ton retour et bonne continuation :-)
-