>> Delete Reply from No. 0 article
No. RE: 텍스트 화일에서 ^M 빼기

등록 2000-04-06 14:12:00     조회 5
이름 짜근앙마    

		: 제가 알고 있는대로 쓰겠습니다. 여러가지 방법이 있네요.
:
:
: 1. vi에서 (not vim)
:
:    vi에서 dos mode의 화일을 읽으면 줄끝에 ^M이 나타납니다.
:    명령어 모드에서..
:
:    :%s/^M//g
:
:    %s는 치환명령입니다.
:    %s/<source pattern>/<destination pattern>/mode
:   
:    위에서 mode에 g를 썼는데, 이것은 global의 약자로 화일
:    전체에 다 적용하는 mode입니다.
:
:
: 2. vim에서
:
:    vim에서는 dos mode의 화일을 읽어도 화면에 ^M을 표시하지 않습니다.
:    대신 밑에 [dos] 란게 나타나죠.
:    다음과 같이 해서 unix mode로.. 즉 ^M을 빼줍니다.
:
:    :set fileformat=unix
:   
:    반대로 unix mode에서 dos mode로 바꾸고 싶다면
:
:    :set fileformat=dos
:
:
:
:
: 3. cat과 tr 사용해서..
:
:    cat은 화일의 내용을 stdout으로 프린트하고, tr은 특정 캐릭터를 바꾸
거나 없애줍니다.
:    이것을 이용하면 다음과 같이 할 수 있습니다.
:
:    예를 들어 file1.txt 가 dos mode라면..
:
:    $ cat file1.txt | tr -d ^M > file2.txt
:
:    이렇게 하면 ^M만 제거된 새로운 file2.txt가 생깁니다.
:    이때 주의할 것은 절대로 위의 두 화일명을 같게 하면 안된다는 것입니
다.
:    잘못하면 화일 날립니다. ;)
:
:
:
:
: 4. perl을 사용해서..
:
:    perl을 이용해서 간단하게 없애줄 수 있습니다.
:    .bashrc 등에 다음과 같이 alias를 해줍니다.
:
:    alias dos2unix="perl -pi -e 's/
/
/'"
:    alias unix2dos="perl -pi -e 's/
/
/'"
:
:    그리고 쉘에서..
:
:    $ dos2unix file1.txt 
:   
:    이런 식으로 실행하면 됩니다.
:
:
:
:
: 기타 다른 방법이 또 있겠지만.. 일단 제가 알고 있는 것만 여기에 써봅니
다.
 ^M은 일반 텍스트 파일을 binary형태로 전송을 했을 경우에만 나타나는
 현상입니다.
 ftp로 올리실 때 asc라는 명령을 입력해서 전송을 하면 ^M은 나타나지 않습
 니다.
 그러므로 ^M이 있는 파일을 window로 ftp로 올리시고, 다시 리룩스로 옮기
 실 때 asc명령을 사용하시던지 text 모드로 다시 전송을 하면 ^M이
 사라지게 됩니다.
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved