(2 réponses)
Comment supprimer tous les fichiers sauf un fichier nommé d'un dossier spécifique [dupliquer]
(5 réponses)
Fermé il y a 2 ans.
J'ai un répertoire rempli par un autre utilisateur et je suis chargé de le maintenir. Je veux supprimer tout son contenu sauf 2 fichiers avec un nom spécifique. Est-ce possible avec rm
ou dois-je faire ceci :
cp aaa/a ./a && cp aaa/b ./b && rm -rf aaa/* && mv ./a aaa/a && mv ./b aaa/b
où aaa
est le répertoire, a,b
sont les fichiers que je veux conserver, et il y a (au moins, il peut y avoir) d'autres fichiers/répertoires là-dedans.
Existe-t-il un meilleur moyen (et plus court) ?
Réponse acceptée :
Avec les globs étendus bash, étant donné
$ tree aaa
aaa
├── a
├── b
├── c
├── d
├── e
└── subdir
alors
rm -rf aaa/!(a|b)
feuilles
$ tree aaa
aaa
├── a
└── b
0 directories, 2 files