100 votes

Supprimer uniquement les fichiers dans le répertoire sur les répertoires Linux PAS

Quelle commande de suppression peut être exécutée pour supprimer uniquement les fichiers dans un répertoire donné

  • PAS de répertoires
  • PAS de sous-répertoires
  • PAS de fichiers dans ces sous-répertoires.

Certains fichiers n'ont pas d'extensions donc rm *.* ne fonctionneront pas...

Il y a des milliers de fichiers dans ce dossier.

Aucun conseil?

98voto

James Points 38
find PATH -maxdepth 1 -type f -delete

MAIS cela ne vous demandera pas de confirmation ou ne produira pas ce qu'il vient de supprimer. Par conséquent, il est préférable de l'exécuter sans l'action -delete d'abord et de vérifier qu'il s'agit des bons fichiers.

10voto

Andriyun Points 96

rm ne supprimera pas les répertoires par défaut. Donc, dans votre exemple, en supposant que vous êtes dans le répertoire parent et que ce sont tous les fichiers, tout ce dont vous avez besoin est :

 rm *

7voto

Geoffrey Hale Points 5306

TL ; DR :

find . -maxdepth 1 -type f -delete

Etc:

Ce n'est pas grave mais les suggestions ci-dessus n'ont pas fonctionné pour moi parce que...

find . -type f -maxdepth 1 -delete

find : avertissement : vous avez spécifié l'option -maxdepth après un argument non-optionnel -type, mais les options ne sont pas positionnelles (-maxdepth affecte les tests spécifiés avant ainsi que ceux spécifiés après). Veuillez spécifier les options avant les autres arguments.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X