[Linux-31] Commande pour supprimer tous les répertoires cachés d'un répertoire

jpcas jpcas at free.fr
Jeu 19 Fév 18:41:53 CET 2015


Salut,

Il faut que les options globstar et extglob soient activées (via shopt)
et ça devrait le faire :

$ tree -a
.
|-- rep
|   |-- s_rep
|   |   `-- .toto.txt
|   `-- .toto.txt
|-- .tata.txt
|-- .titi.txt
|-- .toto.txt
`-- .tutu.txt

2 directories, 6 files

$ rm -rv **/.[!.]*

«rep/s_rep/.toto.txt» supprimé
«rep/.toto.txt» supprimé
«.tata.txt» supprimé
«.titi.txt» supprimé
«.toto.txt» supprimé
«.tutu.txt» supprimé

$ tree -a
.
`-- rep
    `-- s_rep

2 directories, 0 files


;-))

JP.

Le 18/02/2015 23:08, Claude Micouin a écrit :
> Bonsoir.
> Je cherche une ligne de commande avec rm pour supprimer tous les
> fichiers cachés à la racine d'un répertoire.
> 
> rm -rf /rep/.* me propose (ou refuse suivant les droits) de supprimer le
> répertoire courant /rep/. et parent /rep/..
> 
> J'ai bien réussi avec find 
> find /rep/ -name ".*" -exec rm -r {} \;
> 
> mais j'aimerais savoir si on peut le faire plus simplement avec rm
> 
> Merci.
> 



Plus d'informations sur la liste de diffusion Linux-31