GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment supprimer tous les fichiers sauf un fichier nommé d'un dossier spécifique ?

Cette question a déjà des réponses ici :Supprimer tous les fichiers sauf les fichiers avec l'extension pdf dans un répertoire

(13 réponses)
Fermé il y a 5 ans.

Voici la situation.

J'ai un répertoire qui contient de nombreux fichiers avec différentes extensions. Je veux supprimer tous les fichiers sauf un avec un nom spécifique.

Cela pourrait être facilement fait en utilisant l'interface graphique en sélectionnant tout et en appuyant sur ctrl et en désélectionnant le fichier en question.

C'est exactement ce que je veux, mais comment puis-je le faire depuis la ligne de commande ?

Par exemple : dirA contient les fichiers suivants :

a.txt
b.txt
c.php
d.html
a.db
b.db
e.html

Je veux supprimer tous les fichiers en ne gardant que le fichier nommé a.txt .

Meilleure réponse

Je suis venu avec cette commande simple et géniale :

rm !(a.txt)

vous pouvez utiliser ! comme une négation

Testez d'abord le glob avec echo, c'est-à-dire

echo !(a.txt)

Si cela ne fonctionne pas, pour bash vous devrez peut-être l'activer avec

shopt -s extglob

Si vous vouliez conserver les deux a.txt et b.txt , vous pouvez utiliser !(a.txt|b.txt) ou !([ab].txt) .

Modifier :

faire rm travailler de manière récursive, ajoutez simplement -r j'aime

rm -r !(a.txt)

et aussi, il travaille avec le dossier. juste besoin de changer le nom du répertoire, comme pour a_dir

rm -r !(a_dir)

Ubuntu
  1. Comment supprimer tous les fichiers d'un dossier sauf un fichier spécifique sous Linux

  2. Supprimer tous les fichiers/répertoires sauf un fichier ?

  3. Comment supprimer tous les fichiers d'un dossier particulier présent dans les sous-dossiers du répertoire actuel à l'exclusion d'un certain fichier ?

  4. Déplacer tous les fichiers sauf un

  5. Comment supprimer tous les fichiers d'un répertoire sauf certains ?

Comment déplacer des fichiers d'un compte utilisateur à un autre sur le même ordinateur ?

Comment masquer les fichiers avec une extension spécifique ?

Comment accéder aux fichiers Windows à partir d'Ubuntu ?

Comment supprimer un fichier/dossier via le gestionnaire de fichiers

Comment diviser un fichier texte en plusieurs fichiers *.txt ?

Supprimer tous les dossiers à l'intérieur d'un dossier sauf un avec un nom spécifique