GNU/Linux >> Tutoriels Linux >  >> Linux

Rechercher et supprimer tous les répertoires nommés test sous Linux

xargs fait toute la magie :

find . -name test -type d -print0|xargs -0 rm -r --

xargs exécute la commande passée en paramètre, avec les arguments passés à stdin.

Ceci utilise rm -r pour supprimer le répertoire et tous ses enfants.

Le -- dénote la fin des arguments, pour éviter un chemin commençant par - d'être traité comme un argument.

-print0 indique find pour imprimer \0 caractères au lieu de nouvelles lignes ; et -0 dit xargs pour ne traiter que \0 comme séparateur d'arguments.

Ceci appelle rm avec de nombreux répertoires à la fois, évitant la surcharge d'appeler rm séparément pour chaque répertoire.

Comme alternative, find peut également exécuter une commande pour chaque sélectionné fichier :

find . -name test -type d -exec rm -r {} \;

Et celui-ci, avec de meilleures performances, puisqu'il appellera rm avec plusieurs répertoires à la fois :

find . -name test -type d -exec rm -r {} +

(Notez le + à la fin; celui-ci est équivalent au xargs solution.)


find /path/to/dir -name "test" -type d -delete
  • -nom : recherche le nom passé. Vous pouvez utiliser -regex pour fournir des noms basés sur des expressions régulières

  • -type : recherche les types de fichiers. d ne recherche que les répertoires

  • -supprimer : action qui supprime la liste trouvée.

Alternative :

find /path/to/dir -name "test" -type d -exec rm -rf {} \;

Comme J.F. Sébastien indiqué dans les commentaires :

Vous pouvez utiliser + au lieu de \; pour passer plus d'un répertoire à la fois.


encore une autre façon de le faire est

find . -name test -exec rm -R "{}" \;

Un lien utile sur find :http://www.softpanorama.info/Tools/Find/using_exec_option_and_xargs_in_find.shtml


Linux
  1. Comment rechercher et supprimer des répertoires de manière récursive sous Linux

  2. Trouver des fichiers et des répertoires sous Linux comme un pro

  3. Comment trouver tous les fichiers épars sous Linux

  4. Un guide de la commande Linux "Rechercher"

  5. Quelle est la différence entre "localiser" et "trouver" sous Linux ?

Comment trouver et supprimer des liens symboliques brisés sous Linux

3 façons de trouver des fichiers et des répertoires sous Linux

Comment rechercher et supprimer des répertoires vides sous Linux

Trouvez facilement des fichiers et des répertoires sur Linux

Comment trouver le PID et le PPID d'un processus sous Linux

Comment supprimer des fichiers et des répertoires à l'aide de la ligne de commande Linux