디렉토리 이하 파일내용 수정

#!/bin/bash


check_dir_name() {
    dir=$1
    len=expr length $dir
    last_char=expr substr $dir $len 1
    if [ “$last_char” = “/” ]; then
        dir=expr substr $dir 1 $((len-1))
    fi
    unset len last_char
}


cur_dir_files_conv() {
    check_dir_name $1
    for i in grep -l “$findstring” $dir/* 2> /dev/null
    do
        orig=”$i”
        temp=”$i.tmp”
        cp $orig $temp && \
        sed -e “s/$exp_findstring/$exp_changestring/g” $temp > $orig && \
        rm $temp
    done
    unset dir i orig temp
}


change_dir() {
    cur_dir_files_conv $1
    check_dir_name $1
    for i in ls -d $dir/*/ 2> /dev/null
    do
        change_dir $i
    done
}


if [ $# = 3 ]; then
    findstring=$2
    changestring=$3
    exp_findstring=${findstring//./\\.}
    exp_findstring=${exp_findstring//\//\\/}
    exp_changestring=${changestring//./\\.}
    exp_changestring=${exp_changestring//\//\\/}
    change_dir $1
    unset findstring changestring exp_findstring exp_changestring
else
    echo “e.g.”
    echo “   $0 ”
fi
exit 0


//—-사이까지————————————————–


ㄴ) 사용방법:
# sh tr.sh /var/www/html/bbs www.yahoo.co.kr www.mydns.com
위의 설명은 sh tr.sh 쉘스크립트를 이용하여 /var/www/html/bbs 디랙토리 이하 하위디랙토리까지
www.yahoo.co.kr의 문자열을  www.mydns.com으로 바꾸어 주라는 뜻입니다.


ㄷ) 주의사항:
상기 쉘을 실행할때는 항상 백업을 해둔후 실행 연습을 해보고 사용하십시오
그리고 바꾸고자하는 문자열의 조합을 잘 생각해서 사용하십시오.


ㄹ) 사용방법 예 1)
–order_ok.php 프로그램중에———————————————————-
//적립금결재시 에러처리
if($decision==”2″) {
        $t_total_seprice = $tpoint + $tseprice;  <—$t_total_seprice 변수를 $tot_total_seprice로 바꾸고자 할때
        if($t_total_seprice != $total_seprice) error_msg(”적립금을 …”);  <——바꿀문자열
        if($tpoint > $member[point3]) error_msg(”입력하신 …”);
————————————————————————————
제가 비비샵 으로그램을 고칠때 사용한 방법입니다.
#sh tr.sh /var/www/html/bbshop  $t_total_seprice $tot_total_seprice하면…


소스를 확인하여 보면 아래와 같이 변경이 된다는 말이지요…
–order_ok.php 프로그램중에———————————————————-
//적립금결재시 에러처리
if($decision==”2″) {
        $tot_total_seprice = $tpoint + $tseprice;  <—$tot_total_seprice 로 바꾸어진다
        if($tot_total_seprice != $total_seprice) error_msg(”적립금을 …”); <——-바뀐문자열
        if($tpoint > $member[point3]) error_msg(”입력하신 …”);
————————————————————————————


사용방법 예 2)
전역에 사용된 아이콘 명을 바꿀때도 이것으로 바꿉니다.
예 : sh tr.sh /var/www/html/bbshop  yellow.gif  black.gif
그러면 yellow.gif 가 black.gif로 바꾼다는 말이지요… 설명이 제대로 되었나 모르겠네요..


코멘트 쓰기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

다음의 HTML 태그와 속성을 사용할 수 있습니다:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



배송정보
배송조회를 하시려면 송장번호를 클릭하세요
배송조회
상품명
주문번호
택배사
송장번호