CodeIgniter 한국사용자포럼 BETA
빠르고, 유연한 PHP Framework!

일반자료실


euckr<->utf8 포맷 일괄변경(리눅스쉘)      
양승현 4 3,020 0 0 2009-08-20 11:34:51
#########################################################################################
#!/bin/sh

# Maintainer    : Chan Hwang (innuendo9@gmail.com)
# Last Modify   : 2006.02.24
# 특정 디렉토리의 euckr 포맷을 utf8 포맷으로 일괄 변환한다
# 사용법: uni_change.sh 디렉토리명|파일명 [포맷형태]
# 주의사항 : 스크립트 구동전 반드시 백업을 하십시오

if [ -z "$1" ]; then
    echo "usage: uni_change.sh dir|file [encoding]"
    exit 1
fi

if [ -z "$2" ]; then
    FENCODE="euckr"
    TENCODE="utf8"
fi

if [ "X$2" = "Xutf8" ]; then
    FENCODE="euckr"
    TENCODE="utf8"
elif [ "X$2" = "Xeuckr" ]; then
    FENCODE="utf8"
    TENCODE="euckr"
fi

 

if [ -d "$1" -a -w "$1" ]; then
    FLAG="D"
elif [ -f "$1" -a -w "$1" ]; then
    FLAG="F"
else
    FLAG="X"
fi


if [ "X$FLAG" = "XF" ]; then
    FILE=$1
    iconv -f $FENCODE -t $TENCODE $FILE > ${FILE}_new 2> /dev/null
    RETVAL=$?
    if [ "X$RETVAL" = "X0" ]; then
        mv -f ${FILE}_new $FILE
        echo "$FILE encoding changed ... success"
    else
        rm -f ${FILE}_new
        echo "$FILE encoding changed ... fixed"
    fi

elif [ "X$FLAG" = "XD" ]; then
    DIR=$1
    LIST=`find "$DIR" -type f`

    for file in $LIST; do
        iconv -f $FENCODE -t $TENCODE $file > ${file}_new 2> /dev/null
        RETVAL=$?
        if [ "X$RETVAL" = "X0" ]; then
            mv -f ${file}_new $file
            echo "$file encoding changed ... success"
        else
            rm -f ${file}_new
            echo "$file encoding changed ... fixed"
        fi
    done

else
    echo "$file encoding changed ... failed"

fi

exit 0
#########################################################################################

예전에 euckr상태로 작업된 파일을 리눅스 쉘상에서 일괄 변경하는 쉘프로그램 입니다.
요긴하게 썼던 기억이.. ㅎㅎ

  목록  

ci세상 2009-08-20 12:00:04
  
와우 ~~ 윈도우용으로 찾고 있었던 중인데요^^ 서버에서 하면 좋겠네요 ~~

혹시 ~~ 메타태그도 동시에 UTF-8로 변경해 주려면 고치면 되겠지요?^^
웅파 2009-08-25 17:59:26
  
ㅋ 여기도 업로드 프로그램의 버그가...
양승현 2009-09-03 16:59:06
  
음.. 매타태그는 리눅스에선 find로 한방에 바꿔버립니다. ^^;

find ./ -name "*.php" -exec perl -pi -e 's|EUC-KR|UTF-8|g' {} \;

이렇게요.
Cacti 2009-10-28 11:19:32
  
find . / -name "*.php" | xargs sed -i "s/EUC-KR/UTF-8/g"
메타태그 바꾸는 이런 방법도 있습니다. 
번호 제   목 글쓴이 날짜 조회 추천수
148 phpDesigner 8 한글언어팩 - LNGV.1.. [8] 타로 2012-01-15 238 0
144 sw사업 대가산정 가이드 [2] milosz 2012-01-10 175 0
142 phpDesigner 7 한글언어팩 [3] 타로 2012-01-10 180 0
140 phpconf v1.01 [1] 노란조약돌 2012-01-07 176 0
137 XPertMailer - PHP Smtp, POP3.. [1] 불의회상 2011-09-28 616 0
129 phpjs가 여기없는거 같아서 올립니다...^^ [4] 형민세훈아방 2011-05-12 1454 0
127 오프라인, 모바일 동기화 가능한 노트 [1] 웅파 2011-04-23 1199 0
126 하드웨어 온도 모니터 [0] 웅파 2011-02-15 1211 0
124 2010년 노임단가로 견적서 작성시 필요한 금액산정 [1] 웅파 2011-02-10 1467 0
120 WinSCP (SCP, FTP, SFTP), Win.. [2] KangMin 2011-01-27 1260 0
109 NeoMem (체계적인 메모관리) [11] KangMin 2010-12-04 2030 0
97 인쇄용 편집 슬림 매뉴얼 [8] 펭귄 2010-07-07 2132 0
84 잘잘이한 USB용 포터블 프로그램들... [9] KangMin 2010-05-19 2336 0
80 매뉴얼 인쇄용 다시 편집해봤습니다. [1] 불꽃코딩 2010-05-10 1826 0
76 TextMate on Windows [5] KangMin 2010-05-03 2245 0
61 파이어폭스 ci 한글매뉴얼화 [6] 웅파 2009-11-17 3517 0
56 파이어폭스 ci 메뉴얼 추가 [3] ci세상 2009-10-29 2601 0
50 Textmate CI 번들 [3] 케이든 2009-10-16 2921 0
48 PHP FEST 발표 자료입니다. [4] 최용운 2009-10-12 3382 0
44 phpdesigner용 구문 색상 강조(syntax.. [5] 웅파 2009-09-09 4100 0