'파일포맷'에 해당되는 글 1건

  1. 2009.12.22 15. 텍스트 파일 포맷 변경 2
2009. 12. 22. 14:08

15. 텍스트 파일 포맷 변경


파일포맷을 확인하는 방법
[root@localhost ~]# file test
test: ASCII text

file 명령어는 ASCII 파일인지 UTF-8 인지 UNICODE 인지 확인하는 명령어



텍스트의 포맷이 일정하지 않아서 스크립트로 처리시에 오류가 생길 경우는

recode 명령어를 통해서 포맷을 일정하게 해주는 것이 좋다.

yum -y install recode 를 통해서 리눅스 CentOS 에 설치하고

recode -l 으로 포맷형식들을 확인

recode -f UTF-8 <파일명> 이라고 명령을 내리면 해당 파일이 UTF-8 로 포맷형식이 바뀌게 된다.


dos2unix 명령어는 VI 편집기로 열었을 때 라인끝에 ^M 이라는 문자가 보이는 경우가 있다
이것을 지워주는 역할을 한다.

그리고  Col 필터는 "\n\r" 문자를 "\n" 문자로 바꾸어 주는 필터이다.     또한 공백문자
를 탭문자로 바꾸고, 백스페이스 문자를 없애는 기능을한다
( 참고 : http://darkrang.tistory.com/117 )

따라서 vi 편집기로 열었을 때에 전체적으로 이상한 기호가 보이거나 한다면
위의 recode 명령어를 사용해서 텍스트 파일의 포맷을 변경해야 한다.

또한 recode 는 * 를 지원하므로

recode -f utf-8 *.txt 라고 적어도 모든 txt 파일에 대해서 적용된다.



recode -v <소스인코딩>...<출력인코딩> <파일명>

recode -v EUC-KR...UTF-8 *.txt

다음은 현재 디렉토리 안의 파일들의 txt 파일만 찾아서 파일포맷을 변경하는 스크립트이다


#!/bin/bash
DIR=$PWD
count=0
ls -l *.txt | awk '{print $9}' > filelist

for file in `cat $DIR/filelist`
do
recode -f UTF-8 $file
cat $file | col -b > imsy.txt
sort -u imsy.txt > $file
count=`expr $count + 1`
done