본문 바로가기
IT/기타

^M (Carriage Return) 생성 원인 및 제거 방법

by TechTonic 2023. 6. 29.
반응형

가끔 파일을 열었는데, 갑자기 문서 어딘가에 ^M이라는 불쾌한 문자가 등장하는 경우가 있습니다. 이것이 정확히 무엇인지, 어떻게 생성되는지, 그리고 어떻게 제거할 수 있는지에 대해 이야기해보겠습니다.

^M 생성 원인 및 제거 방법


^M 란?

^M은 Carriage Return (CR)을 나타내는 문자입니다. 이것은 컴퓨터가 줄 바꿈을 인식하는 방식에 관련된 표기법입니다. 우리가 흔히 알고 있는 줄 바꿈의 ASCII 코드는 10 (Line Feed - LF)이지만, Carriage Return은 ASCII 코드 13을 가지고 있습니다. 이 ^M은 주로 텍스트 파일에서 줄 바꿈 문자로 사용되며, Unix/Linux와 Windows 시스템에서 각기 다른 방식을 사용합니다.


^M 생성 원인

Unix/Linux 시스템은 줄 바꿈을 나타내기 위해 Line Feed (LF, \n) 문자만을 사용합니다. 반면에 Windows 시스템은 Carriage Return과 Line Feed를 모두 사용하여 줄 바꿈을 표현합니다 (CRLF, \r\n). 따라서 Windows에서 생성된 텍스트 파일을 Unix/Linux 시스템에서 열면, 각 줄의 끝에 이 ^M 문자가 표시됩니다. 이것은 Unix/Linux 시스템이 Windows의 Carriage Return 문자를 올바르게 해석하지 못하기 때문입니다.


^M 제거 방법

이제 이 ^M 문자를 어떻게 제거할 수 있는지에 대해 알아보겠습니다.

제거 방법은 여러 가지가 있지만, 1번 vim을 통해 치환하는 작업을 선호합니다.

1. Vim에서 제거

Vim에서 문제가 되는 파일을 열고 ^M 문자를 공백으로 치환합니다.

:%s/\r//g

2. dos2unix 툴 사용

 dos2unix는 줄 바꿈 문자를 Windows 형식에서 Unix 형식으로 변환하는 툴입니다.

설치 방법은 아래와 같습니다.

sudo apt-get install dos2unix   # Debian/Ubuntu
sudo yum install dos2unix       # CentOS/RHEL

설치 후 dos2unix 명령어를 통해 줄 바꿈 문자를 변환합니다.

dos2unix filename

3. tr 명령어 사용

tr 명령어는 문자 변환을 위한 유용한 Unix 유틸리티입니다. tr -d '\r' < inputfile > outputfile 명령을 실행하면, inputfile의 모든 ^M 문자가 제거되고 결과가 outputfile에 저장됩니다. 만약 같은 파일에서 ^M 문자를 제거하고 싶다면, 임시 파일을 사용해야 합니다.

 


이상으로, ^M 문자 생성 원인 및 제거 방법에 대해 알아보았습니다. 

 

 

반응형

댓글