Comment supprimer seulement certains fichiers cachés ?
Bonjour à tous, je souhaite réaliser un script qui parcourt toute mon arborescence et qui supprime tout les fichiers cachés (ex : ".git") sauf certains (ex : ".@__thumb").
J'ai fais un script qui parcourt mon arborescence et qui supprime tout mes fichiers commençant par un ".".
Le voici :
Code:
1 2 3 4 5 6 7
| find . -depth -type d -name '.*' |
while read f
do
dn=`dirname "$f"`
bn=`basename "$f"`
mv "$dn/$bn" "$dn/${bn//.}"
done |
J'ai voulu ensuite l'adapter et ajouter une condition pour que lorsque mon dossier/fichier s'appelle ".@__thumb" par exemple (qui est un dossier que je ne veux pas supprimer) il ne supprime pas le ".". J'ai obtenu ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| thumb=".@__thumb"
echo $thumb
find . -depth -type d -name '.*' |
while read f
do
if [[ $bn != $thumb ]]
then
dn=`dirname "$f"`
bn=`basename "$f"`
mv "$dn/$bn" "$dn/${bn//.}"
fi
done |
Cependant, ma condition semble ne servir à rien. Mon script supprime quand même mon dossier ".@__thumb". Auriez-vous une idée d'où pourrait venir le problème ou une idée d'amélioration ?
Je ne sais pas si j'ai été clair dans mon explication. Si vous avez des questions, n'hésitez pas.
En vous remerciant.