리눅스 centos 모든 파일 인코딩 변경하기
하위 폴더 인코딩 변경하기
find 명령어로 가능합니다.
find ./ -type f -execdir iconv -f euckr -t utf-8 {} -o {}.tmp \; -execdir mv -f {}.tmp {} \;
위 와 같이 사용하면 되요
find ./
현재 위치에서 모든 폴더를 조회
-type f
폴더를 제외한 나머지 파일
(find ./ : 이 부분에서 특정파일 대상으로 지정할 수 있어요 ===> ./*.php => php 파일만)
-execdir iconv -f euckr -t utf-8 {} -o {}.tmp \;
-exec 나 -execdir 는 다음에 나오는 명령을 수행하고 \; 을 만나면 종료함
{}는 매칭된 파일이름으로 치환됩니다.
-exec는 {} 치환 시 find에서 찾은 full path 혹은 상대 path의 경로가 포함되어 나타나며,
-execdir은 {} 치환 시 실제 해당 하위 디렉터리에 들어가서 패스명을 제외한 파일명만 치환됩니다.
따라서 위에 명령은 각 하위디렉터리를 들어가서 모든 파일에 대하여
iconv 명령을 사용하여 euckr을 utf-8 로 변환하고
그 결과는 해당 파일명에 .tmp 를 붙인 결과가 저장됩니다.
-execdir mv -f {}.tmp {} \;
이전 명령에서 변환한 결과를 .tmp 확장자를 추가해서 붙여 놓았으므로,
이 명령에서 다시 원본으로 되돌리는 역할을 수행합니다.
=========================================
또다른 방법은
recode -v EUC-KR...UTF-8 ./*.php
위와 같은 명령어를 이용하는 방법입니다.
EUC-KR와 UTF-8 사이에 (...) 점 3개 꼭 넣어야 하고
서버에 recode가 설치 되어 있지 않다면
centos는
yum install recode 로 설치 할 수 있습니다.
'리눅스' 카테고리의 다른 글
리눅스 tomcat heap memory 확인 및 설정하기 (0) | 2020.07.06 |
---|---|
centos gd 라이브러리 설치하기 (0) | 2017.11.14 |
htaccess www 붙이기 2차도메인 없애기 (0) | 2017.01.26 |
리눅스 파일 특정 문자열 치환 (0) | 2016.12.27 |
리눅스 날짜기준으로 특정 파일 삭제 하기 (0) | 2016.12.09 |