^M 문자 없애기 정리

 
출처 : http://www.lug.or.kr/2005/bbs.php?table=community_tip&query=view&uid=109&p=1
 
^M 문자와 관련해서 게시판을 검색해 보니 다양한 방법이 소개되어 있어서
이것을 참조하여 한 문서로 정리했습니다.

Vi(m) 사용시 ^M 없애기

vi(m)을 사용하다보면 윈도우즈에서 작업한 텍스트 파일에 ^M 문자가 붙는 경우를 종종 봅니다.
현재 vim에서는 도스 문서로 문서를 읽게 되면 이 문자가 붙지 않기도 하지만
종종 이 문자 때문에 문서 보기가 상당히 귀찮아 보일 때가 있습니다.
특히, SQL 백업 파일을 볼 때 이 문자가 붙기도 하는데 특정한 내용을 볼 때
이런 문자가 붙은 것을 보기는 상당히 힘들죠.
(sun의 파일을 aix에서 받을 때에도 이런 문제가 발생한다고 합니다)
이 문자는 ^M은 ^+M이 아니라 Control+v+m 입니다. 따라서, 다음에 이 문자를 없앨 때도
이렇게 타이핑을 하도록 하빈다.

다음은 http://www.lug.or.kr/에 올라온 몇 개의 팁을 정리한 것입니다.
생각보다 많은 방법들이 있을 수 있겠군요.

1. vi(m)이 열린 상태
1.1 문자 치환 명령 이용
다음과 같이 문자 치환 명령으로 이 문자를 없애도록 합니다.
:1,$s/^M//g

물론 이것의 입력은 다음과 같이 하도록 합니다.
:1,$s/[Control]+v+m을 누른다.//g

1.2 파일포맷 변경
vim 5.0 이상에서는 다음과 같이 명령을 내리도록 합니다

:set fileformat=unix
혹은
:set ff=unix
그리고, 저장하고 종료합니다.
:wq

이와 반대로 끝에 ^M붙이려면 다음과 같이 합니다.
:set fileformat=dos

이전버전에서는 다음과 같이 합니다.
:set textmode


2. 프롬프트 상에서
2.1 dos2unix 이용
dos2unix와 unix2dos를 이용하여 변환할 수 있습니다.

다음과 같이 하면 ^M 문자가 없어집니다.
$ dos2unix [문서명](여러 파일의 경우 *.확장자)

그리고 다음과 같이 하면 ^M 문자가 생기죠.
$ unix2dos [문서명]

2.2 cat과 tr을 이용한 방법
다음과 같이 하면 해당 파일의 ^M 문자가 없어집니다.
$ cat dos-file | tr -d ^M > unix-file

2.3 perl 스크립트
다음과 같이 하면 여러파일을 한번에 바꾸게 됩니다.

# perl -i -pe 's/

by 으레짐작 | 2008/01/30 01:51 | ┏━━━컴퓨터━━━┓ | 트랙백 | 덧글(0)

트랙백 주소 : http://joonisjoon.egloos.com/tb/26923
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶