: : 제가 알고 있는대로 쓰겠습니다. 여러가지 방법이 있네요.
: :
: :
: : 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이
:
: 사라지게 됩니다.
@@ 저는 이런 것을 사용합니다. 그냥 무식해서...
pico 로 열어서 저장을 하면 없어져 버립니다.
신기해서 그냥 계속 그렇게 쓰고 있습니다.
프로그램이고 다 귀찮아셔여...
하여튼 많이 알고 있으면 좋겠네요...