제목 | euckr<->utf8 포맷 일괄변경(리눅스쉘) | ||
---|---|---|---|
글쓴이 | 양승현 | 작성시각 | 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상태로 작업된 파일을 리눅스 쉘상에서 일괄 변경하는 쉘프로그램 입니다. 요긴하게 썼던 기억이.. ㅎㅎ |
|||
다음글 | php2exe (php코딩된걸 exe로 만들어줌) (1) | ||
이전글 | Devtool_v4 (3) | ||
ci세상
/
2009/08/20 12:00:04 /
추천
0
|
변종원(웅파)
/
2009/08/25 17:59:26 /
추천
0
ㅋ 여기도 업로드 프로그램의 버그가...
|
양승현
/
2009/09/03 16:59:06 /
추천
0
음.. 매타태그는 리눅스에선 find로 한방에 바꿔버립니다. ^^;
find ./ -name "*.php" -exec perl -pi -e 's|EUC-KR|UTF-8|g' {} \; 이렇게요. |
Cacti
/
2009/10/28 11:19:32 /
추천
0
find . / -name "*.php" | xargs sed -i "s/EUC-KR/UTF-8/g"
메타태그 바꾸는 이런 방법도 있습니다. |
혹시 ~~ 메타태그도 동시에 UTF-8로 변경해 주려면 고치면 되겠지요?^^