Salome HOME
Merge from BR_QT4 17Feb09
[tools/hxx2salome.git] / scripts / renameSalomeModule
1 #!/bin/bash
2 # --
3 # Copyright (C) CEA, EDF
4 # Author : Nicolas Crouzet (CEA)
5 # --
6
7 usage()
8 {
9     echo
10     echo Usage :
11     echo "  renameSalomeModule  oldName newName dirModule"
12     echo
13     echo "  -> replace any occurence of oldName by newName in module dirModule"
14     echo 
15     echo "    (nex name cannot contain old name)"
16     echo
17     echo Example :
18     echo
19     echo "  cp -r HELLO_SRC CALCULATOR_SRC"
20     echo "  renameSalomeModule  HELLO CALCULATOR CALCULATOR_SRC"
21     echo
22     exit 1
23 }
24
25 rename_dir()
26 {
27     # Rename the first directory containing $oldName in their file name
28     liste=`find . -type d -name "*${oldName}*"`
29     for file in $liste
30     do
31         newFile=`echo $file | sed "s/${oldName}/${newName}/g"`
32         echo "mv -f $file $newFile"
33         mv -f $file $newFile
34         return 1
35     done
36     return 0
37 }
38
39 if [ "$1" == "-i" ]
40 then
41     # mode interactif
42     if [ $# -ne 4 ]
43     then
44         usage
45     fi
46     oldName=$2
47     newName=$3
48     moduleName=$4
49 else
50     if [ $# -ne 3 ]
51     then
52         usage
53     fi
54     oldName=$1
55     newName=$2
56     moduleName=$3
57 fi
58
59 # check names for restriction
60 echo $newName | grep $oldName > /dev/null
61 if [ $? -eq 0 ]
62 then
63     echo -e "Sorry : There is a restriction!\nNew name cannot contain old name.\n"
64     usage 
65 fi
66
67 today=`date +%d%m%y`
68
69 # Check arguments
70 if [ "$1" == "-i" ] # mode interactif
71 then
72     echo replace any occurence of $oldName by $newName in module $moduleName
73 else
74     clear
75     echo "Do you want to replace any occurence of $oldName by $newName in module $moduleName ?"
76     echo
77     read rep
78     case $rep in
79
80       y* | Y* | o* | O* )       ;;
81       * )                 usage ;;
82     esac
83 fi
84
85 cd ${moduleName}
86 echo
87 echo Renamed Directories:
88 echo
89
90 # rename directories one by one
91 rename_dir
92 while [ $? -eq 1 ]
93 do
94     rename_dir
95 done
96
97 # rename files containing ${oldName} in their name
98 echo
99 echo Renamed Files:
100 echo
101 liste=`find . -name "*${oldName}*"`
102 for file in $liste
103 do
104     newFile=`echo $file | sed "s/${oldName}/${newName}/g"`
105     echo "mv -f $file $newFile"
106     mv -f $file $newFile
107 done
108
109 echo
110 echo Modified Files:
111 echo
112 # modify all files containing $oldName, replace occurences by $newName
113 liste=`find -name "*"`
114 for file in $liste
115 do
116     if [ -f $file ]
117     then
118         grep $oldName $file > /dev/null 2>&1
119         if [ $? -eq 0 ]
120         then
121             echo $file
122             cat $file | sed "s/${oldName}/${newName}/g" > fic_temp_${today}
123             cp -f fic_temp_${today} $file
124         fi
125     fi
126 done
127 rm -f fic_temp_${today}
128 cd -