본문 바로가기
> 프로그래밍 기초

Vim(Vi)에서 Dos CR-LF 를 Unix Newline으로 변환하기(개행문자 변환)

by bky373 2020. 10. 8.

윈도우 환경에서 작성한 파일을 유닉스/리눅스 환경에서 읽으면 에러가 나는 경우가 있다.
vi를 이용해 해당 파일을 열어보면 ^M 이라는 글자가 찍혀있는 것을 볼 수 있는데,
^M의 존재가 이러한 에러의 원인이 되는 경우가 있다.

에러가 왜 발생하는지를 알기 위해서 먼저 아래 내용을 이해하자.

(*개행문자 = 줄바꿈 문자)
  DOS(도스) 개행문자 = 윈도우 개행(Newline)문자
                           = \r\n
                           = CR + LF
                           = 캐리지리턴 + 라인피드
                           = Window EOL
 
  UNIX(유닉스) 개행문자 = 리눅스 개행문자
                               = \n
                               = \LF(라인피드)
                               = Unix EOL

위와 같이 서로 다른 환경에서는 개행문자 표현이 다르다는 것을 알 수 있다.
표현이 다르기 때문에 윈도우의 파일의 내용을 리눅스에서 제대로 이해할 리가 없다.
결국 이 부분을 수정하기 위해서 아래와 같은 작업이 꼭 필요하다! (생각보다 간단하다)


유닉스 텍스트(Unix Text)로 변환 명령

0. cmd창을 실행

1. vim [file_name: 자신의 파일명].pl 입력

   - 이렇게 파일을 vim 에디터로 불러온다

2. Esc키를 누른 후
   :se ff=unix 입력

3. :wq 입력
   - 위의 명령으로 파일 저장 + vim을 종료한다




- 기본적인 vim 사용에 관하여: (blog.lael.be/post/7321)
- 내용 출처: mwultong.blogspot.com/2007/05/vim-vi-dos-cr-lf-to-unix-newline.html

댓글