#!/bin/bash # # @RDE_HEADER@ # $Id$ # $HeadURL$ # $Author$ # directory="" source_dir="" echo "source_dir = ${source_dir}" usage() { echo "usage: $0 -d -b " echo " -d : Directory in which the files & include-stmts should be renamed" echo " -b : source-Directory that will be used for find&replace include-stmts" } while getopts "d:b:" opt "$@"; do case $opt in d) directory=$OPTARG ;; b) source_dir=$OPTARG ;; \?) echo "Invalid option: -$OPTARG" usage exit 1 ;; :) echo "Option -$OPTARG requires an argument." usage exit 1 ;; esac done if [ -z $directory ]; then echo "Parameter -d is required" usage exit 1 fi if [ -z $source_dir ]; then echo "Parameter -b is required" usage exit 1 fi echo "Change to directory: ${directory} " cd ${directory} file_list=`find . -name '*.cpp' -printf "%f\n" ` file_list+=" " file_list+=`find . -name '*.xpm' -printf "%f\n" ` changed_file_list="" for old_file in ${file_list}; do first_file=$( echo ${old_file} | sed -r 's#(^[A-Z])#\l\1#') echo "first: ${first_file}" new_file=$( echo ${first_file} | sed -r 's#([A-Z])#_\l\1#g') if [ ${old_file} != ${new_file} ]; then changed_file_list+=" ${new_file} " echo "-> Rename file ${old_file} to ${new_file}" svn mv ${old_file} ${new_file} #mv ${old_file} ${new_file} fi done echo "changed_file_list = ${changed_file_list}" h_file_list="" for old_file in `find . -name '*.h' -printf "%f\n" `; do first_file=$( echo ${old_file} | sed -r 's#(^[A-Z])#\l\1#') new_file=$( echo ${first_file} | sed -r 's#([A-Z])#_\l\1#g') if [ ${old_file} != ${new_file} ]; then # Escape the '.' in the variable old_file & new_file esc_old_file=$(echo ${old_file} | sed -e 's/[]\/$*.^|[]/\\&/g') esc_new_file=$(echo ${new_file} | sed -e 's/[]\/$*.^|[]/\\&/g') find ${source_dir} -name "*.cpp*" -exec grep -l "#include" {} \; | xargs sed -i "s/${esc_old_file}/${esc_new_file}/" find ${source_dir} -name "*.h*" -exec grep -l "#include" {} \; | xargs sed -i "s/${esc_old_file}/${esc_new_file}/" find ${source_dir} -name "*.py" -exec grep -l "#include" {} \; | xargs sed -i "s/${esc_old_file}/${esc_new_file}/" #find ${source_dir} -name "*.h" | xargs sed -i "s/${old_file}/${new_file}/" #grep -Rl "#include" ${source_dir}/*.h | xargs sed -i "s/${old_file}/${new_file}/" #echo "grep -l "#include" *.cpp | xargs sed -i 's/${old_file}/${new_file}/'" h_file_list+=" ${new_file} " echo "-> Rename file ${old_file} to ${new_file}" svn mv ${old_file} ${new_file} #mv ${old_file} ${new_file} fi done echo "h_file_list = ${h_file_list}"