web-dev-qa-db-fra.com

Supprimer les fichiers .DS_STORE du dossier en cours et de tous les sous-dossiers de la ligne de commande sur Mac

Je comprends que je peux utiliser find . -name ".DS_STORE" pour trouver tous les fichiers .DS_STORE dans le dossier actuel et tous les sous-dossiers. Mais comment puis-je les supprimer de la ligne de commande simultanément? J'ai trouvé très ennuyeux de basculer dans tous les dossiers et de le supprimer un par un.

Merci pour tout conseil.

22
Aaron Zeng

find peut le faire. Ajoutez simplement -delete:

find . -name ".DS_Store" -delete
65
chaos
find . -name ".DS_Store" -print -delete
5
Kirill Malakhov

Vous pouvez également utiliser le globbing étendu (**):

rm -v **/.DS_Store

dans zsh, bash 4 et des shells similaires (si non activé, activer avec: shopt -s globstar).

0
kenorb

Créez un nouveau fichier avec un éditeur de texte, copiez et collez le texte suivant, enregistrez-le avec l’extension de fichier ".sh", puis ouvrez le fichier avec Terminal. Assurez-vous que l'éditeur de texte enregistre effectivement le texte brut et non le fichier en tant que fichier au format RTF ou dans un autre format de fichier texte contenant des informations supplémentaires.

#!/bin/bash
echo -e "\nDrag a folder here and press the Enter or Return keys to delete all files whose names begin with a dot in its subfolders:\n"
read -p "" FOLDER
echo -e "\nThe following files will be deleted:\n"
find $FOLDER -name ".*"
echo -e "\nDelete these files? (y/n): "
read -p "" DECISION
while true
do
    case $DECISION in
        [yY]* ) find $FOLDER -name ".*" -delete
        echo -e "\nThe files were deleted.\n"
        break;;
        [nN]* ) echo -e "\nAborting without file deletion.\n"
        exit;;
        * ) echo -e "\nAborting without file deletion.\n"
        exit;;
    esac
done
0
Sparky

Voici comment supprimer récursivement le fichier .DS_Store

Ouvrez TerminalEn ligne de commande, accédez à l'emplacement du dossier où se trouvent tous les fichiers et tous les dossiers: cd dans/votre/répertoire

Enfin, tapez la commande ci-dessous: - trouver . -name '.DS_Store' -type f -delete

Appuyez sur Entrée

À votre santé!!

0
Tejinder