36 lines
950 B
Bash
Executable File
36 lines
950 B
Bash
Executable File
#!/bin/sh -f
|
|
for d in `ls -R | grep : | tr -s ":" " "`
|
|
do
|
|
for i in `ls $d`
|
|
do
|
|
#ici on passe les nom en maj en min
|
|
FILE=$i
|
|
file=`echo $FILE|tr "[A-Z]" "[a-z]"`
|
|
echo $d/$FILE --------- $d/$file
|
|
mv $d/$FILE $d/$file
|
|
|
|
#ici on parse le fichier courant pour remplacer les liens en maj en min
|
|
|
|
#on recupere tout les fichiers visers par un lien
|
|
cat $d/$file | awk -F"[Ss][Rr][Cc]=" '{ print $2 }' | awk -F'"' '{ print $2 }' > ./$$tmpFile
|
|
#on parse tout les fichiers que l'on vient de recuperer et on ne remplace que les fichiers vises
|
|
cat $$tmpFile|sed '/^$/d' | while read FIC
|
|
do
|
|
echo $FIC | awk '{print tolower($0)}' > ./$$fic
|
|
|
|
fictmp=`cat $$fic|cut -f1 -d" "| sed 's/\./\\\./' `
|
|
echo $fictmp
|
|
|
|
FICtmp=`echo $FIC| sed 's/\./\\\./'`
|
|
|
|
ed - $d/$file << fin
|
|
g/$FICtmp/s/$FICtmp/$fictmp/n
|
|
w
|
|
q
|
|
fin
|
|
done #fin for
|
|
done #fin for
|
|
done #fin for
|
|
rm ./$$fic
|
|
rm ./$$tmpFile
|