Disons que vous avez plus de 100 fichiers dans un dossier. Vous voulez tous les supprimer sauf un ou quelques fichiers spécifiques. Comment feriez-vous ? Vous pouvez copier les fichiers que vous souhaitez conserver et les enregistrer dans un emplacement différent, puis supprimer le reste des fichiers ou le dossier entier. Mais attendez, je connais un moyen plus simple de le faire. Vous pouvez supprimer tous les fichiers d'un fichier plus ancien, à l'exception d'un fichier spécifique ou d'un certain type de fichiers en une seule fois avec une seule commande de ligne. Vous voulez savoir comment ? Continuez à lire.
Supprimer tous les fichiers d'un dossier sauf un fichier spécifique
Imaginons l'exemple suivant. Nous avons un dossier appelé 'test' qui contient 10 fichiers texte.
$ ls test/
Exemple de sortie :
file10.txt file2.txt file4.txt file6.txt file8.txt file1.txt file3.txt file5.txt file7.txt file9.txt
Maintenant, je veux tout supprimer dans ce dossier sauf file10.txt .
Il peut y avoir plusieurs commandes pour cela. Mais ce sont les cinq commandes que je connais.
Tout d'abord, passez au test dossier :
$ cd test/
Et exécutez la commande suivante :
$ rm -f !(file10.txt)
Ou utilisez simplement :
$ rm !(file10.txt)
La commande ci-dessus supprimera tous les fichiers du dossier de test sauf file10.txt fichier.
Vous pouvez également utiliser la commande de recherche pour tout supprimer sauf un spécifique. La commande suivante supprimera tous les fichiers du dossier actuel (c'est-à-dire test dans notre cas) sauf file10.txt.
$ find . ! -name file10.txt -delete
Comme vous le voyez dans l'exemple ci-dessus, le dossier de test contient le même type de fichiers, c'est-à-dire des fichiers .txt. Que feriez-vous si le dossier contient différents types de fichiers tels que .mp3, .doc, .pdf, etc. ? Il est également facile de conserver un type particulier de fichiers dans un dossier et de supprimer tout le reste.
Supposons que notre dossier de test contienne trois fichiers .txt, trois fichiers .mp3, trois fichiers .doc et un fichier .pdf.
$ ls test/
Exemple de résultat :
total 0 -rw-r--r-- 1 sk users 0 Mar 22 15:51 file10.pdf -rw-r--r-- 1 sk users 0 Mar 22 15:51 file1.txt -rw-r--r-- 1 sk users 0 Mar 22 15:51 file2.txt -rw-r--r-- 1 sk users 0 Mar 22 15:51 file3.txt -rw-r--r-- 1 sk users 0 Mar 22 15:51 file4.mp3 -rw-r--r-- 1 sk users 0 Mar 22 15:51 file5.mp3 -rw-r--r-- 1 sk users 0 Mar 22 15:51 file6.mp3 -rw-r--r-- 1 sk users 0 Mar 22 15:51 file7.doc -rw-r--r-- 1 sk users 0 Mar 22 15:51 file8.doc -rw-r--r-- 1 sk users 0 Mar 22 15:51 file9.doc
Comme vous dans la sortie ci-dessus, j'ai quatre types de fichiers différents (pdf, txt, mp3, doc) dans le dossier de test. J'aimerais conserver les fichiers qui ont .doc extension et supprimer tout le reste. Voici comment je peux procéder :
$ cd test/
$ rm !(*.doc)
Maintenant, listons le contenu du fichier en utilisant la commande :
$ ls
Exemple de résultat :
file7.doc file8.doc file9.doc
La commande ci-dessus supprime tout dans le dossier sauf les fichiers qui ont l'extension .doc .
De même, vous pouvez conserver deux ou plusieurs types de fichiers particuliers et supprimer tout le reste. Supposons, par exemple, que la commande suivante conserve les fichiers contenant .doc et .mp3 extensions.
$ rm !(*.doc|*.mp3)
Maintenant, vous verrez que les fichiers mp3 et doc ne sont pas supprimés.
$ ls
Exemple de résultat :
file4.mp3 file5.mp3 file6.mp3 file7.doc file8.doc file9.docTélécharger - Guide gratuit :"GNU/Linux Basic"
Ce ne sont que dix types de fichiers différents. Imaginez que vous avez des centaines de fichiers. Il serait plus difficile de trouver chaque type de fichier et de les supprimer manuellement. Cette astuce fera le travail en seulement une ou deux secondes.
Soyez très prudent lorsque vous utilisez ces commandes. Vérifiez le chemin du répertoire avant de supprimer des fichiers pour éviter la suppression accidentelle de fichiers importants.
Suggestion de lecture :
- Éviter la suppression ou la modification accidentelle de fichiers et de dossiers sous Linux
- Un moyen simple de protéger les fichiers contre la suppression accidentelle sous Linux
J'espère que cela t'aides. Si vous trouvez ce guide utile, partagez-le sur vos réseaux sociaux et professionnels et soutenez-nous.
Plus de bonnes choses à venir. Restez à l'écoute !
Santé !