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