Vers rm
tous sauf u,p
dans bash tapez simplement :
rm !(u|p)
Cela nécessite que l'option suivante soit définie :
shopt -s extglob
Voir plus :glob - Wiki de Greg
Ce que je fais dans ces cas, c'est taper
rm *
Ensuite, j'appuie sur Ctrl +X ,* pour se développer *
dans tous les noms de fichiers visibles.
Ensuite, je peux simplement supprimer les deux fichiers que je souhaite conserver de la liste et enfin exécuter la ligne de commande.
Vous pouvez utiliser find
find . ! -name u ! -name p -maxdepth 1 -type f -delete
!
nie l'expression suivante-name
spécifie un nom de fichier-maxdepth 1
fera rechercher uniquement le répertoire spécifié (find
par défaut parcourt les répertoires)-type f
ne traitera que les fichiers (et pas par exemple les répertoires)-delete
supprimera les fichiers
Vous pouvez ensuite régler les conditions en consultant la page de manuel de find
Mettre à jour
- Gardez à l'esprit que l'ordre des éléments des expressions est important (voir la documentation)
-
Testez d'abord votre commande en utilisant
-print
au lieu de-delete
find . ! -name u ! -name p -maxdepth 1 -type f -print