반응형
데이터 이관 시 기존장비(AS-IS) 시스템의 언어가 EUC-KR이라서 신규 장비(TO-BE) 시스템 언어인 UTF-8에서 파일 내용 중 한글이 모두 깨졌습니다.
UTF-8로 파일 내용을 일괄적으로 변경이 필요할 때 어떻게 해야 할까요?
1. 파일 내용 변경은 iconv라는 리눅스 명령어를 통해서 변경이 가능합니다.
1
|
# iconv -f cp949 -t utf8 "변경하고자 하는 파일명" > "변경될 파일명"
|
cs |
2. 특정 경로, 특정 타입의 파일 내용들을 일괄적으로 변경하려면 다음과 같이 스크립트를 만들어서 실행하여 변경합니다.
아래 샘플 스크립트의 내용은 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 16 17 18 19 20 | #!/bin/sh echo "Directory Full Name : " read ID file_type=$(find ${ID} -name *.sql -o -name *.jsp -o -name *.sh -o -name *.java \ -o -name *.html -o -name *.htm -o -name *.css -o -name *.js) encode_name="us-ascii | iso-8859-1 | unknown-8bit | binary" file_name=$(file ii ${file_type} | egrep "${encode_name}" | awk -F"[:]" '{print $1 }'_ echo "===== Checking file type and Changing file encoding... =====" for encoding in ${file_name} ; do /usr/bin/iconv -c -f cp949 -t utf8 $encoding > $encoding.temp && /bin/mv -f $encoding.temp $ encoding done echo "There are $(fine ${ID} -type d | wc -l) directory and $(find ${ID} -type f | wc -l) files." echo " " echo "===== Have a Good Job! =====" | cs |
반응형
'IT 이야기 > Linux' 카테고리의 다른 글
[RHEL 공통] 계정 로그인을 하는데 패스워드를 5번 이상 실패했을때 조치 방안 (0) | 2019.11.18 |
---|---|
[RHEL 공통] 기존 소스 파일 내용에 EUC-KR이라고 encoding이 정의된 파일을 UTF-8로 변환하기 (0) | 2019.11.18 |
[RHEL 공통] 신규 계정 생성 시 사용자 홈 디렉터리를 자신이 원하는 위치에 만들기 (0) | 2019.11.18 |
[RHEL 공통] OS 및 Web 보안 점검 중 보안 패치에서 취약으로 결과가 나왔을 때 (0) | 2019.11.18 |
[RHEL 공통] 윈도우에서 zip으로 압축한 파일을 리눅스의 unzip으로 해제하면 한글이 깨졌을 때 (0) | 2019.11.18 |
댓글