텍스트의 개행이 무시되어 1행으로 표시되는 경우의 대응

Windows 환경에서 텍스트 파일 (설정 파일, 로그 등)을 텍스트 편집기에서 열 때 줄 바꿈이 무시되어 한 줄로 표시 될 수 있습니다. 검색을 사용하여 무리하게 참조하는 파괴가 되거나, 편집이 하기 어려울 수 있습니다.

텍스트의 개행이 무시되어 1행으로 표시되는 원인과 대응 방법에 대해 생각해 보겠습니다.

원인



개행을 나타내는 문자는 OS마다 차이가 있습니다.
※문자 코드는 SJIS, UTF8


문자
문자 코드
OS


CR+LF
0x0d0a
Windows

LF
0x0a
Linux, Mac (OS X 이상)

CR
0x0d
Mac(OS 9 이하)


텍스트 파일로 사용하고 있는 개행 문자에, 텍스트 에디터가 대응하고 있지 않으면, 개행이 무시되어 1행으로 표시되어 버립니다.

예) Windows 메모장에서 줄 바꿈이 Linux 형식의 LF로 작성된 파일을 엽니다.

대응 방법



대응 방법을 나열해 보겠습니다.

사쿠라 에디터 사용



모든 개행 문자에 대응한 텍스트 에디터를 사용하면 된다고 하는 것으로 사쿠라 에디터를 사용합니다. zip 버전이라면 프로덕션 서버에서 사용해도 괜찮은 경우가 많을까 생각합니다.
사쿠라 에디터에서는 개행 문자의 차이는 화살표의 차이에 의해 나타내집니다.

개행 문자가 CR+LF일 때,


개행 문자가 LF일 때,


개행 문자가 CR일 때,


Enter 키로 개행을 새롭게 입력하면, 그 파일의 개행 문자가 입력된다.
(개행 문자 LF에 한 줄 추가)


메모장 대응을 기다립니다.



프로덕션 서버라면 텍스트 에디터를 새로 설치할 수 없는 경우도 있으므로, 빌트인의 메모장이 모든 개행 문자에 대응하면 기쁘네요. Windows 10 Insider Preview에서 이미 공개되어 있어 향후 릴리스 예정이라고 합니다.
htps : // bgs. msd 응. 미 c 로소 ft. 코 m / こまん d ぃね / 2018/05/08 / 에 x 텐데 d

Java로 편집할 때



Java로 텍스트 파일을 편집할 때는 System.lineSeparator()를 사용하여 자동으로 OS에 의존하는 개행 코드가 출력됩니다.
그 때문에 개행 문자가 LF의 파일을 Windows 환경에서 편집하면, LF와 CR+LF가 혼재해 버리므로 별도 대응이 필요합니다.

좋은 웹페이지 즐겨찾기