System/OS
2014.01.09 22:15
[linux] iconv를 이용하여 euc-kr 문서를 utf-8로 대량으로 변환하기
Views 12221 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 |
---|---|---|---|---|---|
789 | Develop | [c] 코드 최적화에 대해.. | hooni | 2013.04.23 | 7656 |
788 | Develop | [c] 콘솔에서 패스워드 입력시 문자 보이지 않게 하는 코드 | hooni | 2013.04.23 | 8327 |
787 | Develop | [c] 퀵정렬(quick sort) 예제 소스.. | hooni | 2013.04.23 | 7974 |
786 | Develop | [c] 테트리스(Tetris) 게임(도스용) 소스코드 | hooni | 2003.04.23 | 11477 |
785 | Develop | [c] 테트리스3D (Tetris 3D) | hooni | 2013.04.23 | 7107 |
784 | Develop | [c] 텍스트 파일(로그)을 정해진 라인 단위로 쪼개주는 코드 | hooni | 2013.04.23 | 7050 |
783 | Develop | [c] 파이프(popen)로 다른 프로세스 실행결과 가져오기 | hooni | 2013.04.23 | 8399 |
782 | Develop | [c] 파일 복사(copy) 프로그램 샘플 소스 | hooni | 2003.04.23 | 6770 |
781 | Develop | [c] 파일(File) 관련 함수 샘플 코드 | hooni | 2003.04.23 | 7460 |
780 | Develop | [c] 파일(File)의 연결과 연결 해제 (link, unlink, chown) | hooni | 2013.04.23 | 9545 |
779 | Develop | [c] 파일(int fd)에서 개행문자 단위로 읽기 by 후리자 | hooni | 2013.04.23 | 7152 |
778 | Develop | [c] 파일명 또는 특정 패턴을 적용 | hooni | 2016.08.03 | 757 |