1#!/bin/bash 2 3print_usage() 4{ 5 local script_name 6 7 # Get the script name 8 script_name=${0##*/} 9 10 # Echo usage info 11 echo " " 12 echo " "${script_name} 13 echo " " 14 echo " Usage:" 15 echo " ${script_name} old_word new_word src_dir extension" 16 echo " ${script_name} CHARACTER\(1\) CHARACTER netlib f" 17 echo " " 18 19 # Exit with non-zero exit status 20 exit 1 21} 22 23main() 24{ 25 # Check the number of argements 26 if [ $# != "4" ]; then 27 print_usage 28 fi 29 30 # local variables 31 script_name=${0##*/} 32 old_word="$1" 33 new_word="$2" 34 src_dir="$3" 35 extension="$4" 36 one_tab="\t" 37 38 # Check src file 39 if [ ! -d "${src_dir}" ]; then 40 echo "${script_name}: Source directory does not exist (${src_dir})." 41 exit 1 42 fi 43 44 files="$(find ${src_dir} -name "*.${extension}")" 45# echo "${files}" 46 47 for file in ${files}; do 48 echo "Replacing ... ${file}" 49 tmp_file=$(echo "${file}.back") 50 /bin/cp -f ${file} ${tmp_file} 51 sed "s/${old_word}/${new_word}/g" "${file}" > ${tmp_file} && /bin/mv ${tmp_file} "${file}" 52 /bin/rm -f ${tmp_file} 53 done 54 return 0 55} 56 57main "$@" 58