Question Supprimez tous les fichiers générés par Mac "._" avec bash


J'essaie de trouver la commande pour supprimer récursivement tous les fichiers générés par Apple Mac tels que «._» du lecteur. Jusqu'à présent j'ai:

find . -name '._*' -exec rm -rf {} \;

Cependant, il ne semble pas faire l'affaire.


4
2017-12-20 16:18


origine


Désolé, c'est hors sujet. Essayez superuser.stackexchange.com - Joe
Comment est-ce hors sujet? N'est pas couvert ssh ici - j'ai vu plusieurs messages pour ssh, mais aucun expliquant comment atteindre ce qui précède.
Ils auraient pu être de vieilles questions. Depuis le lancement de StackOverflow, de nombreux StackExchanges ont été créés pour remplir des spécialités. Ces questions peuvent être apparues avant l'existence du site StackExchange. - Joe
(Je sais à quel point il est frustrant d’avoir quelque chose d’insignalisé, mais il faut un certain nombre de votes de la part de la communauté pour le confirmer, donc ce n’est rien de personnel.) - Joe
Que observez-vous? - Nicole Hamilton


Réponses:


Il y a maintenant une meilleure façon!

Voir man dot_clean depuis OS X 10.5.

dot_clean -n . ne supprimera pas simplement les fichiers sous barre de points dans et sous le répertoire courant, il fusionnera leurs informations dans le fichier parent s'il n'est pas déjà là (et j'en déduis que vous voulez -n pour supprimer également le fichier point underbar s'il n'y a pas de fichier natif correspondant).


7
2018-05-18 17:42





L'utilisation du point comme premier argument commence dans le répertoire dans lequel vous vous trouvez actuellement.

Si vous voulez trouver tout les fichiers commençant par ._ vous devez utiliser le slash comme premier paramètre pour que find commence au répertoire racine.

Et comme certains de ces fichiers ne vous appartiennent pas, vous pouvez également utiliser la commande suso.

La commande complète ressemble à ceci:

sudo find / -name "._*" -exec rm -rf {} \;

Au moins pour moi ça fait toujours le tour. Ommiter la partie -exec listera simplement tous les fichiers afin que vous puissiez l'exécuter en premier pour voir si tous les fichiers sont présents


2
2017-12-21 05:08





trouver . (-name '._ *') -exec rm {} -rf \; devrait marcher

Je ne sais pas si c'est différent dans OSX par rapport à bash.


0
2017-12-20 18:18



Les Macs courent Bash et ont certainement find bien que je pense que c'est un peu dépassé. La page de manuel indique 2008, mais je suis sûr qu’elle sera suffisamment à jour. - Joe


Je sais: cet article est obsolète. En tout cas j'écris ici car c'est le premier que j'ai trouvé! J'ai eu le même problème avec un compte Dropbox que j'ai utilisé sur mac osx, déplacé maintenant sur Windows / Linux Ubuntu. En utilisant bash (le mien est le Cygwin64 bash), j'ai tapé dans mon dossier Dropbox:

find . -regex '.+/\._.+' -exec rm {} \;

Notez que -rf a été supprimé des solutions ci-dessus. '._' sont supposés être uniquement des fichiers, donc n’ajoutez pas trop de pouvoirs à la commande rm! ;)


0
2018-02-01 16:09