System/OS
2014.01.09 22:15
[linux] iconv를 이용하여 euc-kr 문서를 utf-8로 대량으로 변환하기
Views 12296 Comment 0
Attachment '1' |
---|
아래 iconv 명령을 이용해서 euc-kr로 작성된 문서를 변환할 수 있다.
euc-kr 형식으로 작성된 [target file]을 utf-8 형식으로 변환하여 [dest file]에 저장하는 명령이다.
$ iconv -f euc-kr -t utf-8 [target file] [dest file]
하지만, 파일이 많을 때는 어떻게 해야 할까?
아래와 같은 명령어를 쉘스크립트(Shell Script)로 만들어서 해결할 수 있다.
find 명령어로 찾은 *.php 파일들을 euc-kr에서 utf-8로 변환하는 쉘 스크렙트
#!/bin/bash find . -name "*.php" | while read fn; do cp ${fn} ${fn}.bak iconv -f euc-kr -t utf-8 -c ${fn}.bak > ${fn} rm ${fn}.bak done
확장자가 php가 아니라면, 위의 내용 중 *.php를 원하는 확장자로 바꾸면 된다.
(ex. java, text 등)
이 부분을 argument로 바꿔서 만들면 더 편리할 듯..
그건 나중에..
한가지 더.. 아래는 실제로 사용하고 있는 샘플..
FROM=euc-kr TO=utf-8 ICONV="iconv -c -f $FROM -t $TO " find ./ -type f -name "*.htm*" | while read fn; do cp ${fn} ${fn}.bak echo $ICONV ${fn} $ICONV < ${fn}.bak > ${fn} rm ${fn}.bak done
No. | Category | Subject | Author | Date | Views |
---|---|---|---|---|---|
154 | System/OS | [linux] resolv.con 초기화 되는 문제 | hooni | 2014.04.05 | 4704 |
153 | System/OS | [linux] CentOS 6.5 에서 "Bringing up interface eth0: Determining if ip address 121.78.127.197 is already in use for device eth0..." | hooni | 2014.04.05 | 4970 |
152 | System/OS | [linux] awk 명령어 | hooni | 2014.03.11 | 5051 |
151 | System/OS | [mac] 맥(OSX)에서 NTFS, 윈도우에서 HFS+ 사용하기 | hooni | 2014.03.12 | 5195 |
150 | System/OS | [windows] 윈도우즈 콘솔에서 정품인증 하는 방법 | hooni | 2017.05.24 | 5684 |
149 | System/OS | SVN(Subversion) 설치와 설정 (sasl 인증 적용 포함) | hooni | 2014.09.11 | 5855 |
148 | System/OS | HTTPS와 SSL 인증서 | hooni | 2014.03.11 | 7643 |
147 | System/OS | [linux] man 명령어 뽀개기.. | hooni | 2003.04.23 | 8780 |
146 | System/OS | [linux] 간단한 find 명령어 설명(업데이트 해야 함) | hooni | 2013.04.23 | 9182 |
145 | System/OS | [linux] 초간단 Postfix, Covecot, SSL/TLS (SMTP) | hooni | 2017.12.11 | 9528 |
144 | System/OS | [unix] AIX쉘 초기 파일 (.cshrc) | hooni | 2013.04.23 | 10362 |
143 | System/OS | [linux] 데비안(debian.org) 리눅스 명령어 예제 | hooni | 2006.04.23 | 10519 |