Bonjour à tous

J'ai un répertoire contenant de nombreux répertoires, eux-mêmes contenant d'autres nombreux sous-répertoire.
Certains sont en majuscules, d'autres en minuscules, d'autres un peu des 2....
Ce que j'aimerai, c'est renommé tout les répertoires et sous-répertoire du répertoire d'origine en majuscule.
Je me doute que je dois faire une boucle pour rechercher tout les répertoires puis de les renommer après avoir appliquer un tr dessus mais mon souci c'est que je ne dois pas m'y prendre dans le bon sens car après avoir renommé les 1er répertoires, il ne retrouve plus les sous-répertoires de ces répertoires....logique ils ont déjà changé de nom....

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
tata@toto:/rep/reptest> find . -type d
.
./TEST2
./TEST2/TEST
./TEST2/TEST/TEst1
./TEST2/TEST/TEst2
./TEST2/TEST1
./TEST2/TEST1/tesT1
./TEST2/TEST1/Test2
./TEST2/TEST2
./test
./test/test1
./test/tesT2
./test/TEST3
./tesT1
./tesT1/test
./tesT1/test2
./tesT1/teSt3
tata@toto:/rep/reptest> 
 
tata@toto:/rep/reptest> ./sar.sh 
mv: `.' et `./.' identifient le même fichier.
mv: ne peut écraser le répertoire `./TEST2/TEST2'
mv: ne peut déplacer `./TEST2/TEST' vers un sous-répertoire de lui-même `./TEST2/TEST/TEST'
mv: ne peut déplacer `./TEST2/TEST1' vers un sous-répertoire de lui-même `./TEST2/TEST1/TEST1'
mv: ne peut déplacer `./TEST2/TEST2' vers un sous-répertoire de lui-même `./TEST2/TEST2/TEST2'
mv: ne peut évaluer `./test/test1': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `./test/tesT2': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `./test/TEST3': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `./tesT1/test': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `./tesT1/test2': Aucun fichier ou répertoire de ce type
mv: ne peut évaluer `./tesT1/teSt3': Aucun fichier ou répertoire de ce type
tata@toto:/rep/reptest> ll
total 72
drwxr-xr-x   5 tata tata    72 2010-02-25 14:04 .
drwxr-xr-x  10 tata tata    4096 2010-02-25 13:45 ..
-rwxr-xr-x   1 tata tata    93 2010-02-25 13:45 sar.sh
drwxr-xr-x   5 tata tata    42 2010-02-25 13:49 TEST
drwxr-xr-x   5 tata tata    41 2010-02-25 13:48 TEST1
drwxr-xr-x   5 tata tata    41 2010-02-25 13:49 TEST2
tata@toto:/rep/reptest>
Mon code actuel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
for each in `find . -type d`
do
newname=`echo $each | tr [a-z] [A-Z]`
mv $each $newname
done
Comment je peux m'y prendre ?

Merci de votre aide !