: 제가 알고 있는대로 쓰겠습니다. 여러가지 방법이 있네요.
:
:
: 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이
사라지게 됩니다.