4 votes

Commande de terminal pour supprimer tous les fichiers nommés sauf un

Sur Terminal.app Comment puis-je supprimer tous les fichiers d'un certain nom, à l'exception d'une extension ? Par exemple, si j'ai :

File.docx
File.ppt
File.pdf
File.xlsx
File.out
File.app
FIle.otherextension
File2.docx
File2.ppt
File2.pdf
File2.xlsx
File2.out
File2.app
FIle2.otherextension

tous dans un seul répertoire, comment puis-je supprimer tous les File sauf pour File.out ?

Attendu ls à la fin :

File.out
File2.docx
File2.ppt
File2.pdf
File2.xlsx
File2.out
File2.app
FIle2.otherextension

3voto

Igor Zelaya Points 2266

Essayez ça :

ls File.* | fgrep -v .out | xargs rm

Cela correspond à votre description : sélectionner tous les fichiers nommés File avec une certaine extension, retirez celle avec l'extension .out de la liste, et supprimer les autres.

2voto

L'exemple suivant supprimera tous les fichiers nommés File (et uniquement ) dans le dossier actuel, sauf ceux avec extension .out :

find . -type f \( -iname "File.*" ! -iname "*.out" \) -delete -maxdepth 1

Si vous souhaitez effectuer cette opération de manière récursive (en parcourant tous les sous-dossiers), supprimez l'option -maxdepth 1 :

find . -type f \( -iname "File.*" ! -iname "*.out" \) -delete

El i dans - i Le nom effectue une recherche insensible à la casse, donc file.* , FILE.* etc. seront également supprimés. De même, file.OUT serait épargnée.

0voto

Michael Zhou Points 167

Utilisation de ksh Le glob étendu de l'utilisateur.

rm !(*.out|File2.*|FIle2.*)

Ce qui veut dire en mots- supprimer les fichiers qui ne se terminent pas en .out ou commencer par File2. ou commencer par FIle2.

ksh extended glob est également disponible en bash . Vous devez activer l'option avec shopt -s extglob . Cette solution échouera si vous dépassez ARG_MAX.

Assurez-vous que vous êtes dans le répertoire où ces fichiers existent ou vous pourriez supprimer des fichiers par inadvertance.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X