본문 바로가기
Programming

^M이 붙는 문제 해결하기

by 느리게 걷는 즐거움 2024. 6. 28.
반응형

Visual Studio에서 파일 끝에 ^M이 붙는 문제

Visual Studio를 사용하다 보면 파일 끝에 `^M` 문자가 붙는 것을 볼 수 있습니다. 이 문제는 주로 줄 바꿈 형식이 다를 때 발생합니다.

^M 문자가 생기는 원인

`^M` 문자는 캐리지 리턴(Carriage Return, CR)을 의미하며, 이는 주로 Windows에서 사용하는 줄 바꿈 형식(`CRLF`)입니다. 반면, Unix 기반 시스템(예: Linux, macOS)은 줄 바꿈으로 Line Feed(`LF`)만 사용합니다. 파일을 Windows와 Unix 시스템 간에 이동할 때 줄 바꿈 형식이 일치하지 않으면 이러한 문자가 나타날 수 있습니다.

문제 해결 방법

1. Visual Studio 설정 변경

Visual Studio에서는 파일을 열 때 줄 바꿈 형식을 자동으로 감지하고 변환할 수 있습니다. Preference로 진입해서 `End Of Line`을 검색합니다. 아래 그림과 같이 설정이 나타나면 `auto`로 설정합니다.

 

2. 줄 바꿈 형식 변환

이미 `^M` 문자가 포함된 파일의 경우, 줄 바꿈 형식을 변환해야 합니다. 이를 위해 Visual Studio Code 또는 다른 텍스트 편집기를 사용할 수 있습니다.

문제가 있는 파일을 열고 위의 그림과 같이 오른쪽 아래 상태 표시줄에 있는 줄 바꿈 형식 표시(`CRLF` 또는 `LF`)를 클릭합니다. 줄 바꿈 형식 선택(Select End of Line Sequence)**에서 `LF`를 선택하고 파일을 저장합니다(Ctrl + S).

Unix 도구를 사용한 변환

Unix 기반 시스템에서는 `dos2unix` 명령어를 사용하여 쉽게 변환할 수 있습니다.

dos2unix filename

 

이 명령어를 실행하면 `filename` 파일의 줄 바꿈 형식이 `LF`로 변환됩니다.

Git 설정 변경

Git을 사용하는 경우, 저장소에서 파일의 줄 바꿈 형식을 자동으로 처리하도록 설정할 수 있습니다. `.gitattributes` 파일을 사용하여 특정 파일 형식의 줄 바꿈을 강제할 수 있습니다.

.gitattributes 파일
# 모든 텍스트 파일에 대해 LF 줄 바꿈 강제
* text eol=lf

이 설정을 저장소 루트에 `.gitattributes` 파일로 저장하면, Git이 체크아웃할 때 자동으로 줄 바꿈 형식을 `LF`로 변환합니다.

결론

파일 끝에 `^M` 문자가 나타나는 문제는 줄 바꿈 형식 차이에서 비롯됩니다. Visual Studio 설정을 조정하거나, 파일의 줄 바꿈 형식을 변환하여 이 문제를 해결할 수 있습니다. 또한, Git 설정을 통해 줄 바꿈 형식을 통일하여 장기적으로 이러한 문제를 예방할 수 있습니다.


반응형

'Programming' 카테고리의 다른 글

C++ 대문자/소문자 변환하기  (1) 2024.07.03
Leetcode 알고리즘 스터디 (two sum)  (0) 2024.07.03
amixer 사용가능한 명령어 정보 확인  (0) 2024.06.26
arecord 사용법  (0) 2024.06.26
Robots.txt: 웹사이트의 문지기  (0) 2024.06.23