GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer récursivement des répertoires avec Wildcard ?

Je travaille via SSH sur un WD My Book World Edition. Fondamentalement, je voudrais commencer à un niveau de répertoire particulier et supprimer de manière récursive tous les sous-répertoires correspondant à .Apple* . Comment dois-je m'y prendre ?

J'ai essayé

rm -rf .Apple* et rm -fR .Apple*

ni les répertoires supprimés correspondant à ce nom dans les sous-répertoires.

Réponse acceptée :

find est très utile pour effectuer sélectivement des actions sur un arbre entier.

find . -type f -name ".Apple*" -delete

Ici, le -type f s'assure qu'il s'agit d'un fichier, pas d'un répertoire, et peut ne pas être exactement ce que vous voulez car il ignorera également les liens symboliques, les sockets et d'autres choses. Vous pouvez utiliser ! -type d , ce qui signifie littéralement pas de répertoires, mais vous pouvez également supprimer des périphériques de caractères et de blocs. Je suggérerais de regarder le -type prédicat sur la page de manuel pour find .

Pour le faire strictement avec un caractère générique, vous avez besoin d'un support avancé du shell. Bash v4 a le globstar option, qui vous permet de faire correspondre de manière récursive les sous-répertoires en utilisant ** . zsh et ksh prennent également en charge ce modèle. En utilisant cela, vous pouvez faire rm -rf **/.Apple* . Ce n'est pas POSIX-standard, et pas très portable, donc j'éviterais de l'utiliser dans un script, mais pour une action shell interactive unique, ça va.


Linux
  1. Comment rechercher et supprimer des répertoires et des fichiers vides sous Unix

  2. Comment supprimer une utilisation non root avec UID 0 sous Linux

  3. Comment lister récursivement les répertoires en C sous Linux ?

  4. Comment supprimer un fichier portant ce nom sous Linux :-]???????q

  5. Comment supprimer un fichier avec un nom bizarre ?

Comment exclure des fichiers et des répertoires avec Rsync

Comment supprimer (supprimer) le répertoire sous Linux

Comment comparer des répertoires avec Meld sous Linux

Comment copier des fichiers avec une extension de fichier spécifique de manière récursive

Comment rechercher et supprimer des répertoires vides sous Linux

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