윈도우즈와 UNIX 계열은 줄바꿈 개행 문자가 다르다.

OS별로 개행 문자

윈도우와 UNIX 계열의 OS는 줄바꿈을 처리하는 방식이 다르다. 개행문자의 차이인데 윈도우는 CR+LF, UNIX 계열의 OS(LINUX 등)는 LF를 사용한다. \r\n, \n의 차이로 이해하면 더 쉽게 접근이 가능할 것 같다.

기호의 이미는 라래와 같다.

  • \r : CR (Carriage Return) 그 라인의 맨 앞으로 간다.
  • \n : LF (Line feed) 다음 줄로 간다.

OS별로 개행 문자는 아래와 같다.

  • DOS(Windows) : \r\n
  • UNIX 혹은 Linux : \n
  • Mac : \r, 이것만으로 CR+LF을 의미한다.

OS별로 개행 문자 문제 해결 방법

이러한 문제로 인해서 리눅스에서 작성한 텍스트 파일을 윈도우에서 열었을 때 줄바꿈이 정상적이지 않아 제대로 볼 수 없는 경우가 많은데 이러한 문제를 해결하는 방안에 대해서 알아 보겠다.

윈도우 - 워드패드

윈도우 시스템에서 시작 - 보조프로그램에 워드패드라는 프로그램이 있다.

이 워드패드라는 프로그램으로 리눅스에서 작성된 텍스트 파일을 열게되면 줄바꿈이 정상적으로 되어 보여지게 된다.

이 상태에서 ‘다른 이름으로 저장’ 기능을 사용하게 되면 파일 저장 경로와 이름을 지정할 수 있는 창이 뜨게 되는데, 아래 부분의 ‘파일 형식’에서 ‘텍스트 문서 - MS-DOS형식’을 선택할 수 있다.

바로 이 것을 선택하여 저장하게 되면 줄바꿈에 대한 처리를 윈도우의 CR+LF로 처리하여 저장하게 되므로 윈도우에서도 정상적으로 사용할 수 있는 텍스트 문서가 생성되게 된다.

이 방법으로도 정상적으로 처리가되지 않는다면 역시 문제의 시발점인 리눅스에서 처리하는 것이 가장 빠른 방법일 것이다.

UNIX 계열 OS - VIM

VIM으로 문제의 파일을 연다.

리눅스의 VIM에서는 윈도우의 파일을 유닉스 형태로, 유닉스의 파일을 윈도우 형태로 변환을 자유자재로 할 수 있는데 우선은 윈도우의 파일을 유닉스 형태로 변환하는 것을 보겠다.

:set ff=unix

자, 이제 저장만 하면 끝. 매우 간단하다.

유닉스의 파일을 윈도우 형태로 변환하는 것도 역시 간단하다.

:set ff=dos

정리

이러한 편집기를 사용할 상황이 되지 않는다면 FTP에서 다운로드 받을 때 애초에 ASCII로 다운을 받아서 자동으로 변환되도록 하는 방법이 있다. 그리고 마지막으로 \r\n\n에 대한 처리를 하는 매우 간단한 팁으로 \r\n를 무조건적으로 \n으로 치환하여 \n에 대한 처리만을 행하면 될 것이다.




최종 수정 : 2021-05-20