#!/bin/bash
for i in $(find -name ._*.*); do
rm $i
done
Et voilà, ça supprime tous les fichier ._*.* de Mac OS X dans les sous répertoires à partir du répertoire courant…
#!/bin/bash
for i in $(find -name ._*.*); do
rm $i
done
Et voilà, ça supprime tous les fichier ._*.* de Mac OS X dans les sous répertoires à partir du répertoire courant…
Ton opération est super lente et gourmande en ressources (les boucles en shell c’est moyen), sans compter que tu vas bufferiser tout l’output du find en mémoire, et que ce que tu peux y stocker est super limité.
La solution en une ligne :
find . -name ‘._*.*’ -exec rm -f ‘{}’ \;
Tu traites chaque élément retourné par le find de manière séquentielle sans bufferiser. Pour peu que tu aies un disque dur un tant soit peu rapide, tu vas gagner énormément de temps
Ne peut-on pas forcer la création de ces fichiers dans un /tmp par exemple, plutôt que de polluer tous les dossiers ? Lors d’un transfert d’un NFS à un autre c’est super relou de se taper plein de temporaires dont on se fiche.