[RHEL 공통] 기존 소스 파일 내용에 EUC-KR이라고 encoding이 정의된 파일을 UTF-8로 변환하기
본문 바로가기
IT 이야기/Linux

[RHEL 공통] 기존 소스 파일 내용에 EUC-KR이라고 encoding이 정의된 파일을 UTF-8로 변환하기

by 찬찬이 아빠 2019. 11. 18.
반응형

기존의 소스 파일 내용에 EUC-KR 이라고 encofing이 정의된 파일들이 있습니다.

이것을 한번에 UTF-8로 변환하고 싶을때 어떻게 해야 할까요?

 

파일 내용을 변경하는 명령어는 sed입니다.

 

샘플 스크립트의 내용은 dirname에 지정된 특정 확장자를 검색하여 file encoding type이 us-ascii, iso-8859-1, unknown-8bit, binary로 된 파일 내용들을 일괄적으로 EUC-KR에서 UTF-8로 변경하는 내용입니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/sh
echo "UTF-8로 변경할 디렉터리를 입력하세요 : "
read ID
dirname=$(find $ID} -name \*.sql --name \*.jsp --name \*.sh --name \*.java --name \*.html \
   --name \*.htm --name \*.css --name \*.js -type f | sed -'s/^/\"/' -'s/$/\"/')
name=$(file -i ${dirname} | egrep "us-ascii | ISO-8859-1 | unknown-8bit | binary" | awk -F"[:]" '{print $1 }')
 
echo "===== Changing text : EUC-KR -----> UTF-8 ====="
for list in ${name} ;
do
    sed -'s/EUC-KR/UTF-8/ig' $list > $list.temp && /bin/mv -f $list.temp $list
    echo "$list .......... Text Change..... OK!"
done
 
echo "===== Changed Text(UTF-8) ====="
cs
반응형

댓글