In. Yo. Tw. Li.

Supprimer tous les sous-dossiers de votre Mac qui contiennent uniquement un fichier spécifique

folder, delete, document

Pour supprimer tous les sous-dossiers de votre Mac qui contiennent uniquement un fichier nommé texteenligne.html, vous pouvez utiliser une combinaison de commandes find, xargs, et rm dans le Terminal. Voici un script bash pour accomplir cette tâche :

#!/bin/bash

# Path to the root directory where the search should start
ROOT_DIR="/path/to/your/directory"

# Find all directories that contain only the file 'texteenligne.html'
find "$ROOT_DIR" -type f -name 'texteenligne.html' -exec dirname {} \; | while read -r dir; do
    # Check if the directory contains only 'texteenligne.html'
    if [ "$(ls -1A "$dir" | wc -l)" -eq 1 ]; then
        echo "Deleting directory: $dir"
        rm -r "$dir"
    fi
done

Étapes à suivre :

Enregistrez le script :

Ouvrez un éditeur de texte (comme TextEdit, en mode texte brut) et collez le code ci-dessus.

Enregistrez le fichier avec une extension .sh, par exemple delete_folders.sh.

Modifiez le chemin de la racine :

Remplacez /path/to/your/directory par le chemin du répertoire où vous souhaitez commencer la recherche.

Donnez les permissions d’exécution au script :

Ouvrez le Terminal.

Accédez au répertoire où vous avez enregistré le script.

Exécutez la commande suivante pour rendre le script exécutable :

Exécutez le script :

chmod +x delete

Toujours dans le Terminal, exécutez le script en utilisant la commande suivante :

./delete_folders.sh

Note de précaution :

  • Attention : Cette opération est irréversible. Assurez-vous de bien vérifier le chemin et de comprendre le script avant de l’exécuter pour éviter de supprimer des fichiers par erreur.
  • Vous pouvez tester le script avec un répertoire de test pour vous assurer qu’il fonctionne comme prévu avant de l’exécuter sur vos données importantes.