dos2unix - 텍스트 파일의 줄 구분자(Line separator) 변경

반응형

본 글에서는 윈도우 방식의 줄 구분자(\r\n)가 포함된 텍스트 파일을 리눅스 방식의 줄 구분자(\n)로 변환해 주는 방법에 대해 설명합니다.

 

줄 구분자 (Line separator)

우리가 사용하는 텍스트 파일 내 각 줄의 끝에는 줄 구분자(Line separator)가 포함되어 있습니다.

편집기 프로그램들은 텍스트 파일을 열 때, 줄 구분자가 있는 부분에서 개행(줄바꿈)을 하여 화면에 표시합니다.

 

예를 들어 다음과 같이 두 줄이 포함된 텍스트 파일이 있다고 가정해 보겠습니다.

안녕하세요 오늘도야근 블로그입니다.
반갑습니다.

 

위 텍스트 파일은 실제로는 다음과 같이 저장되어 있습니다.

(리눅스와 macOS 등 유닉스 계열의 운영체제에서는 줄 구분자로 "\n"을 사용합니다)

안녕하세요 오늘도야근 블로그입니다.\n반갑습니다.

 

문제는, 유닉스 계열의 운영체제와 윈도우즈 운영체제가 사용하는 줄 구분자가 서로 다르다는 것입니다.

유닉스 계열의 운영체제는 줄 구분자로 "\n"을 사용하고, 윈도우즈는 "\r\n"을 사용합니다. 그러다 보니, 한쪽의 운영체제에서 생성한 텍스트 파일이 다른 운영체제에서는 제대로 인식되지 않습니다.

따라서 하나의 텍스트 파일을 윈도우즈와 유닉스 계열 운영체제 사이에서 교차로 사용하려면 이를 변환해 줄 필요가 있습니다.

 

dos2unix

윈도우 방식의 줄 구분자(\r\n)가 포함된 텍스트 파일을 리눅스 방식의 줄 구분자(\n)로 변환하기 위해서 dos2unix라는 유틸리티를 사용할 수 있습니다.  dos2unix 유틸리티는 리눅스에 설치되며, 실행 시 텍스트 파일 내에 포함된 줄 구분자를 모두 리눅스 방식의 줄 구분자로 변경해 주는 기능을 지원합니다.

 

우분투 리눅스에서 다음과 같이 실행하여 dos2unix 유틸리티를 설치합니다.

sudo apt install dos2unix

 

설치가 완료되면, 다음과 같이 실행하여 텍스트 파일의 줄 구분자를 변경할 수 있습니다. sample.txt 라는 파일 내 모든 줄 구분자를 리눅스 방식으로 변경해 줍니다.

dos2unix sample.txt

 

이와 같이 dos2unix 유틸리티를 사용하면 두 운영체제 사이에서 발생하는 줄 구분자 문제를 해결해 줄 수 있습니다.

 

댓글

Designed by JB FACTORY