GNU/Linux >> Tutoriels Linux >  >> Linux

Supprimer les fichiers correspondants dans tous les sous-répertoires

Supprimez tous les fichiers *.swp sous le répertoire actuel, utilisez le find commande sous l'une des formes suivantes :

  • find . -name \*.swp -type f -delete

    Le -delete signifie que find supprimera directement les fichiers correspondants. C'est la meilleure correspondance avec la question réelle d'OP.

    Utilisation de -type f signifie que find ne traitera que les fichiers.

  • find . -name \*.swp -type f -exec rm -f {} \;
    find . -name \*.swp -type f -exec rm -f {} +

    Choix -exec permet à find d'exécuter une commande arbitraire par fichier. La première variante exécutera la commande une fois par fichier, et la seconde exécutera le moins de commandes possible en remplaçant {} avec le plus de paramètres possible.

  • find . -name \*.swp -type f -print0 | xargs -0 rm -f

    Diriger la sortie vers xargs est utilisé sous forme de commandes par fichier plus complexes que ce qui est possible avec -exec . L'option -print0 indique find pour séparer les correspondances avec ASCII NULL au lieu d'une nouvelle ligne, et -0 indique xargs s'attendre à une entrée séparée par NULL. Cela rend la construction de tube sûre pour les noms de fichiers contenant des espaces.

Voir man find pour plus de détails et d'exemples.


find . -name '*.swp' -delete

Après avoir trouvé la suppression elle-même, supprimez tout risque d'espace intégré dans le nom de fichier, ... Pour plus de sécurité, envisagez également d'ajouter -type f pour les fichiers uniquement.


find /path -type f -name "*.swp" -delete
find /path -type f -name "*.swp" -exec rm -f "{}" +;

bash 4.0

shopt -s globstar
rm -f /path/**/*.swp

Linux
  1. Comment trouver tous les fichiers épars sous Linux

  2. Trouver tous les fichiers de zéro octet dans le répertoire et les sous-répertoires

  3. Répertorier tous les fichiers d'images graphiques avec rechercher ?

  4. liste/trouve tous les fichiers normaux dans tous les sous-répertoires à l'exception des fichiers binaires

  5. Comment puis-je trouver tous les fichiers liés en dur sur un système de fichiers ?

Comment compresser tous les fichiers dans tous les sous-répertoires de bash

Trouver tous les fichiers dont le nom contient une chaîne

Script bash pour supprimer les fichiers de plus de x jours avec des sous-répertoires

Comment supprimer tous les fichiers d'un répertoire sauf certains ?

Supprimer tous les fichiers aléatoires sauf 1000 dans un répertoire

Supprimer tout /var/log ?